Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
prunner
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
rx-etersoft
prunner
Commits
dfadfcde
Commit
dfadfcde
authored
Mar 08, 2018
by
Pavel Vainerman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add README.md
parents
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
80 additions
and
0 deletions
+80
-0
README.md
README.md
+80
-0
No files found.
README.md
0 → 100644
View file @
dfadfcde
prunner - 'Process Runner'
--------------------------
Это простая утилита на питон, реализует запуск и завершение указанных процессов в зависимости от состояния главного процесса.
Ей указывается процесс за которым необходимо следить (pid) и какие программы запустить,
как только главный указанный процесс завершает свою работу, все запущенные программы останавливаются.
Depends
-------
-
psutil
Usage
-----
# prunner -p main_pid [-d dir | -f file]
Help
----
-d|--run-from-dir dir - run programm from directory
-f|--run-from-file file - run programm from file
-p|--monitor-pid pid - pid of main process (for monitoring)
-v|--verbose - Print info messages
--disable-monitor - only run process
-c|--check-period sec - period for check processes. Default: 5 sec
-t|--terminate-timeout sec - timeout for teminate processes (then the processes will be killed). Default: 5 sec
Example 1 (run from directory)
------------------------------
child.d/
prog1
prog2
prog3
# prunner -p PID -d ./child.d
Если процесс PID существуют, будут запущены программы из каталога child.d,
а как только процесс PID завершится, запущенные программы будут остановлены.
Example 2 (run from file)
-------------------------
# cat runlist
[
restart
]
prog1
# comment 1
[
ignore_fail,restart
]
prog2
# comment 2
[
verbose,shell=False
]
prog3
# prunner -p PID -f ./runlist
В данном случае, если процесс PID существуют, будут запущены программы указанные в файле 'runlist'.
а как только процесс PID завершится, запущенные программы будут остановлены.
Формат файла
-------------
-
каждая команда располагается на новой строке
-
строки начинающиеся с '#' считаются коментариями и игнорируются
-
Формат строки:
[
param1=val1,param2,param3=val3
]
command
Если 'val' не указан, считается значение 'True'.
В квадратных скобках можно указать следующие флаги (для запускаемых программ):
-
restart - перезапустить процесс в случае вылета. По умолчанию: False
-
verbose - выводить stdout,stderr на экране. По умолчанию False
-
ignore_fail - игнорировать вылет или завершение процесса. По умолчанию True
-
shell=False - Запуска без shell. По умолчанию: shell=True
"restart=0,ignore_fail=1" - игнорировать завершение или отказ запуска и не перезапускать
"restart=1,ignore_fail=0" - попытаться перезапустить процесс и если не удалось, завершить работу программы
"restart=0,ignore_fail=0" - завершить работу программы если процесс не запустился или завершился во время работы
"restart=1,ignore_fail=1" - игнорировать неудачные запуски, но пытаться снова перезапускать
Example 3
---------
# prunner -p PID -d ./child.d -f runlist
Т.е. можно указывать и каталог и файл
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment