Конкретная команда find, которую я пытаюсь убить, выполняется внутри сценария, созданного пользователем?
Я создал сценарий, который внутри него содержит команду поиска, которая выполняется до 10 минут, прежде чем я запустил ее снова тот же сценарий, ему нужно убить эту команду поиска.
Можно использовать pgrep
с -a
переключатель:
pgrep -a find
это даст Вам полную командную строку, а также идентификатор процесса:
10838 find / -iname png
10839 find / -iname jpg
затем можно решить, является ли это то, Вы хотите уничтожить или нет:
kill 10838
уничтожит png один.
можно также использовать pkill
как это:
pkill -x "find / -iname png"
-x
средства: Только соответствуйте процессам чьи имена.
используйте дерево для нахождения желаемого процесса, скажем, название сценария является "script.sh", который можно использовать pgrep -f script
для нахождения его затем передайте вывод pstree
для получения списка, он - ребенок, и уничтожьте процесс находки, который является ребенком сценария.
$ pstree -p $(pgrep -f script)
bash(10915)───find(10916)
$ kill 10916