У меня есть файл .jar, который печально известен для сбоев. Когда происходит сбой, возможен только перезапуск. У меня есть способ обнаружить эти неполадки (чтение лог-файла упомянутого .jar). Поэтому я хочу написать сценарий, который убивает процесс всякий раз, когда происходит сбой. Проблема заключается в следующем:
confus@confusion:~$ ps -A
...
4438 ? 00:00:00 java
4439 ? 00:00:00 java
4443 ? 00:00:00 java
...
Имя процесса для всех запущенных .jar s естественно «java». Как узнать, какой из этих «java» -процессов - тот, который я хочу убить, т. Е. Тот, который работает foobar.jar?
Вы можете запустить команду lsof, в которой перечислены процессы, в которых есть открытые файлы, с файлом jar, указанным в качестве аргумента. Пример просмотра файла с меньшим значением:
egil@mutter:~$ lsof foo.c
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
less 18871 egil 4r REG 8,2 0 53862540 foo.c
egil@mutter:~$
Чтобы легко повторно использовать pid в скрипте, вы можете запустить его в сжатом режиме:
egil@mutter:~$ lsof -t foo.c
18871
Вы можете запустить команду lsof, в которой перечислены процессы, в которых есть открытые файлы, с файлом jar, указанным в качестве аргумента. Пример просмотра файла с меньшим значением:
egil@mutter:~$ lsof foo.c
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
less 18871 egil 4r REG 8,2 0 53862540 foo.c
egil@mutter:~$
Чтобы легко повторно использовать pid в скрипте, вы можете запустить его в сжатом режиме:
egil@mutter:~$ lsof -t foo.c
18871
Вы можете запустить команду lsof, в которой перечислены процессы, в которых есть открытые файлы, с файлом jar, указанным в качестве аргумента. Пример просмотра файла с меньшим значением:
egil@mutter:~$ lsof foo.c
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
less 18871 egil 4r REG 8,2 0 53862540 foo.c
egil@mutter:~$
Чтобы легко повторно использовать pid в скрипте, вы можете запустить его в сжатом режиме:
egil@mutter:~$ lsof -t foo.c
18871
Вы можете запустить команду lsof, в которой перечислены процессы, в которых есть открытые файлы, с файлом jar, указанным в качестве аргумента. Пример просмотра файла с меньшим значением:
egil@mutter:~$ lsof foo.c
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
less 18871 egil 4r REG 8,2 0 53862540 foo.c
egil@mutter:~$
Чтобы легко повторно использовать pid в скрипте, вы можете запустить его в сжатом режиме:
egil@mutter:~$ lsof -t foo.c
18871
Вы можете запустить команду lsof, в которой перечислены процессы, в которых есть открытые файлы, с файлом jar, указанным в качестве аргумента. Пример просмотра файла с меньшим значением:
egil@mutter:~$ lsof foo.c
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
less 18871 egil 4r REG 8,2 0 53862540 foo.c
egil@mutter:~$
Чтобы легко повторно использовать pid в скрипте, вы можете запустить его в сжатом режиме:
egil@mutter:~$ lsof -t foo.c
18871
Вы можете запустить команду lsof, в которой перечислены процессы, в которых есть открытые файлы, с файлом jar, указанным в качестве аргумента. Пример просмотра файла с меньшим значением:
egil@mutter:~$ lsof foo.c
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
less 18871 egil 4r REG 8,2 0 53862540 foo.c
egil@mutter:~$
Чтобы легко повторно использовать pid в скрипте, вы можете запустить его в сжатом режиме:
egil@mutter:~$ lsof -t foo.c
18871
Вы можете запустить команду lsof, в которой перечислены процессы, в которых есть открытые файлы, с файлом jar, указанным в качестве аргумента. Пример просмотра файла с меньшим значением:
egil@mutter:~$ lsof foo.c
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
less 18871 egil 4r REG 8,2 0 53862540 foo.c
egil@mutter:~$
Чтобы легко повторно использовать pid в скрипте, вы можете запустить его в сжатом режиме:
egil@mutter:~$ lsof -t foo.c
18871
Вы можете запустить команду lsof, в которой перечислены процессы, в которых есть открытые файлы, с файлом jar, указанным в качестве аргумента. Пример просмотра файла с меньшим значением:
egil@mutter:~$ lsof foo.c
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
less 18871 egil 4r REG 8,2 0 53862540 foo.c
egil@mutter:~$
Чтобы легко повторно использовать pid в скрипте, вы можете запустить его в сжатом режиме:
egil@mutter:~$ lsof -t foo.c
18871
Использование ps ax поможет.
Он отобразит дерево процессов в стиле BSD, который просто показывает путь дополнительной информации.
Чтобы найти ваш конкретный процесс, вам просто нужно grep для имени JAR. ps ax | grep JARNAME сделает это.
Использование ps ax поможет.
Он отобразит дерево процессов в стиле BSD, который просто показывает путь дополнительной информации.
Чтобы найти ваш конкретный процесс, вам просто нужно grep для имени JAR. ps ax | grep JARNAME сделает это.
Использование ps ax поможет.
Он отобразит дерево процессов в стиле BSD, который просто показывает путь дополнительной информации.
Чтобы найти ваш конкретный процесс, вам просто нужно grep для имени JAR. ps ax | grep JARNAME сделает это.
Использование ps ax поможет.
Он отобразит дерево процессов в стиле BSD, который просто показывает путь дополнительной информации.
Чтобы найти ваш конкретный процесс, вам просто нужно grep для имени JAR. ps ax | grep JARNAME сделает это.
Использование ps ax поможет.
Он отобразит дерево процессов в стиле BSD, который просто показывает путь дополнительной информации.
Чтобы найти ваш конкретный процесс, вам просто нужно grep для имени JAR. ps ax | grep JARNAME сделает это.
Использование ps ax поможет.
Он отобразит дерево процессов в стиле BSD, который просто показывает путь дополнительной информации.
Чтобы найти ваш конкретный процесс, вам просто нужно grep для имени JAR. ps ax | grep JARNAME сделает это.
Использование ps ax поможет.
Он отобразит дерево процессов в стиле BSD, который просто показывает путь дополнительной информации.
Чтобы найти ваш конкретный процесс, вам просто нужно grep для имени JAR. ps ax | grep JARNAME сделает это.
Использование ps ax поможет.
Он отобразит дерево процессов в стиле BSD, который просто показывает путь дополнительной информации.
Чтобы найти ваш конкретный процесс, вам просто нужно grep для имени JAR. ps ax | grep JARNAME сделает это.