프로세스의 pid를 얻은 다음 종료하고 싶습니다. 이렇게 하면 다음 ps -ef | grep "python3 bot.py"
과 같은 결과가 출력됩니다.
root 43903 1 0 Jun26 ? 00:03:28 python3 bot.py
root 48808 48298 0 17:57 pts/0 00:00:00 grep --color=auto python3 bot.py
PID를 얻고 싶습니다 43903
. Bash 스크립트를 사용하여 이 작업을 어떻게 수행할 수 있나요?
지금까지 나는 다음과 같이 썼다:
ps -ef | grep "python3 bot.py" | awk "NR==1 {print $1}"
어느 출력
root 43903 1 0 Jun26 ? 00:03:28 python3 bot.py
하지만 이제 awk를 다시 실행하면 출력이 없습니다. 43903
이 줄에서 bash를 어떻게 얻을 수 있습니까?
답변1
이 시도:
ps ax | grep "python3 bot.py" | cut -f2 -d" " - | xargs kill
처음 두 파이프는 프로세스 정보를 얻은 다음 PID 열을 얻으려고 시도하고 마지막으로 생성된 PID를 종료합니다.
또는 다음과 같이 작동해야 합니다.
kill $(pgrep -f 'python3 bot.py')
도움이 되었기를 바랍니다.