ps -ef에서 프로세스 ID를 얻는 방법 [중복]

ps -ef에서 프로세스 ID를 얻는 방법 [중복]

프로세스의 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')

도움이 되었기를 바랍니다.

관련 정보