아래의 프로세스를 죽이려고합니다.
pi@raspberrypi ~ $ ps aux | grep raspi
pi 4647 0.0 0.5 3520 1392 pts/2 S+ 12:05 0:00 grep --color=auto raspi
root 8148 0.0 0.5 10744 1372 ? Sl 06:25 0:00 raspivid -w 800 -h 600 -t 15000 -o /home/pi/media/2015-02-01-06-25-03.177474.h264 -n -rot 270
pi 30099 0.0 0.6 11400 1748 pts/1 Sl+ 11:57 0:00 raspistill -o test.jpg
아래에 나와있는 것처럼 몇 가지 명령을 시도했지만 성공하지 못했습니다 :
pi@raspberrypi ~ $ sudo pkill -f raspivid
pi@raspberrypi ~ $ sudo pkill -f raspistill
pi@raspberrypi ~ $ sudo kill 8148
pi@raspberrypi ~ $ sudo kill 30099
나는 “pi”사용자로 SSH를 통해 로그인했습니다. 문제의 근원입니까?
그렇다면 왜 내 자신의 과정 (30099)을 죽일 수 없습니까?
내가 여기서 뭔가를 놓치고 있니?
답변
의 이름 kill
커맨드 패밀리는 오해의 소지가 있습니다. 실제로 아무 것도 죽이지 않고 프로세스에 신호를 보냅니다. 기본적으로 SIGTERM
신호가 보내지면 프로세스가 프로세스를 종료하라는 메시지 만 부드럽게 표시되지만 프로세스는 프로세스를 무시하거나 다르게 처리하도록 선택할 수 있습니다. (만나다 맨 페이지 kill
).
프로세스를 강제 종료하려면 프로세스를 강제로 보내야합니다. SIGKILL
신호. SIGKILL
프로세스에서 무시할 수 없으며 대부분의 경우 진행중인 작업을 완료하지 않고 즉시 종료됩니다.
보낼 구문이 거의 없습니다. SIGKILL
, 이들 모두는 완전히 동일합니다.
kill -9 <pid>
kill -kill <pid>
kill -s SIGKILL <pid>
프로세스가 제대로 작동하지 않을 수도 있습니다. SIGKILL
과 다시 부팅해야합니다. .
답변
나는 rc.local에서 다음 명령으로 시작된 python 스크립트를 죽였다.
sudo killall python3
먼저 다음 명령을 사용하여 실행중인 모든 프로세스를 나열했습니다.
ps -ef
희망이 도움이,
계산서