Как я проверяю, работает ли определенное приложение его именем файла?

Как я проверяю, работает ли определенное приложение его именем файла? Или если это не возможно, затем его командной строкой? Я знаю, что "pkill" имеет опцию "-f", но я не должен уничтожать его, просто проверьте.

Обновление:

Я хочу получить состояние определенного приложения (приложений) только в ударе, предпочтительном, если я не должен фильтровать вывод к поиску состояние приложения, я хочу проверить состояние.

Если это имеет значение, это - Python или рубиновый сценарий, я должен проверить состояние на них обоих.

1
задан 12 February 2016 в 08:56

2 ответа

Править

Так как Вы спросили, как проверить, работает ли процесс или не, когда Вы знаете его имя, затем это - простое pgrep операция. С другой стороны, можно было использовать ps и укажите state опции для форматирования

$ ps --no-headers -C firefox -o args,state                     
/usr/lib/firefox/firefox    R

Код состояния справа. От man ps можно знать их значение:

       D    uninterruptible sleep (usually IO)
       R    running or runnable (on run queue)
       S    interruptible sleep (waiting for an event to complete)
       T    stopped, either by a job control signal or because it is
            being traced
       W    paging (not valid since the 2.6.xx kernel)
       X    dead (should never be seen)
       Z    defunct ("zombie") process, terminated but not reaped by
            its parent

Исходный

Большую часть времени консольные приложения, запущенные с их собственным именем. Если это - сценарий с a !# строка на вершине, это будет работать с интерпретатором, указанным с той строкой, например, сценарий удара:

$ ps -ef | grep batmon
root      2108     1  0 22:22 ?        00:00:00 /bin/bash /home/xieerqi/bin/batmon.sh

Однако существуют сценарии что сервер как обертка для других приложений. Например, gnome-terminal на самом деле сценарий, который звонит gnome-terminal.real

Что Вы всегда помещаете приложение в фон, который скажет Вам pid того процесса

$ bin/batmon.sh &                                              
[1] 3224

Затем можно использовать kill PID (например, здесь kill 3224) закрыть приложение непосредственно или использование ps найти его имя:

$ ps --no-headers -p 3224 -o %a                                
/bin/bash bin/batmon.sh

В целом, pkill может искать имена, данные без -f , который обозначает полное имя. Вы могли также искать использование pgrep appNamePartial

3
ответ дан 3 December 2019 в 06:31

Если Вы хотите жить, отслеживают процессы, у Вас может быть известная команда:

top

но Вы хотите это именем файла, таким образом, необходимо будет добавить параметр как:

top -c
3
ответ дан 3 December 2019 в 06:31

Другие вопросы по тегам:

Похожие вопросы: