Я открываю два окна терминала.
Терминал 1 - Я запускаю процесс1
Терминал 2 - Я запускаю процесс2
Затем я завершаю оба процесса, используя Ctrl+ Zв каждом окне.
Я ввожу killall -9 process1
«Терминал 2», но ответа нет.
Позже я понимаю, что в Терминале 1 процесс 1 на самом деле не останавливается.
Как завершить процесс process1 в Терминале 1 из консоли Терминала 2?
решение1
#!/bin/bash
process="$1"
null=/dev/null
if pkill -9 "$process" &> $null ; then
if pgrep "$process" &> $null ; then
echo "$process is still running"
exit 1
fi
echo "$process killed successfully"
exit 0
fi
echo "Process $process not found"
exit 1
Использовать:./script.sh process1
Чтобы увидеть вывод pkill
и pgrep
удалить соответствующий&> $null