서버에서 nohup 프로세스를 실행 중입니다. 그것을 죽이려고하면 퍼티 콘솔이 대신 닫힙니다.
이것이 프로세스 ID를 찾는 방법입니다.
ps -ef |grep nohup
이것은 죽이는 명령입니다
kill -9 1787 787
답변
사용하는 경우 nohup
당신은 백그라운드에서 작업을 넣어, 배경 연산자 ( &
) 프롬프트 명령에 당신에게 PID를 제공 할 것입니다. 계획이 프로세스를 수동으로 관리하려는 경우 PID를 저장하고 나중에 PID를 저장하여 필요할 경우 kill PID
또는 kill -9 PID
강제로 강제 종료해야하는 경우 프로세스 를 강제 종료 할 수 있습니다. 또는 나중에 ps -ef | grep "command name"
PID를 찾아 PID를 찾을 수 있습니다. 참고 nohup
키워드 / 명령 자체가 표시되지 않는 ps
문제의 명령의 출력.
스크립트를 사용한 경우 다음과 같은 작업을 수행 할 수 있습니다.
nohup my_command > my.log 2>&1 &
echo $! > save_pid.txt
이것은 실행 my_command
에 모든 출력 저장 my.log
(스크립트의를 $!
마지막 프로세스의 PID 실행 나타낸다). 는 2
표준 오류에 대한 파일 기술자 (인 stderr
) 및 2>&1
표준 출력 (파일 기술자로 라우팅 표준 오류 출력에 쉘을 알려줍니다 1
). &1
쉘이 파일 이름이 아닌 해당 컨텍스트에서 파일 디스크립터임을 알 수 있도록 요구합니다 1
. 는 2>&1
일반적으로 우리에 표준 오류에 기록되는 오류 메시지를 캡처하기 위해 필요 my.log
(표준 출력에서 오는) 파일을. 셸을 사용한 I / O 리디렉션 처리에 대한 자세한 내용 은 I / O 리디렉션 을 참조하십시오.
명령이 정기적으로 출력을 보내면을 사용하여 가끔 출력을 확인 tail my.log
하거나 “실시간”을 따라 가려면을 사용할 수 있습니다 tail -f my.log
. 마지막으로 프로세스를 종료해야하는 경우 다음을 통해 수행 할 수 있습니다.
kill -9 `cat save_pid.txt`
rm save_pid.txt
답변
VPS 서버 (및 SSH-putty를 통해)에서 Red Hat Linux를 사용하고 있습니다.
먼저 실행중인 모든 프로세스를 나열합니다.
ps -ef
그런 다음 첫 번째 열에 사용자 이름이 있습니다. 나는 그것을 다음 세 번 발견했다.
- 하나는 SSH 연결이었습니다
- 두 번째는 FTP 연결이었습니다
- 마지막은 nohup 프로세스였습니다
그런 다음 두 번째 열에서 nohup 프로세스의 PID를 찾을 수 있으며 다음을 입력하십시오.
kill PID
(물론 nohup 프로세스의 PID로 PID를 대체합니다)
그리고 그게 다야!
이 답변이 bash 및 SSH를 처음 접하는 사람에게 유용하지만 여기에서 필요한 지식의 95 %를 찾았습니다. 🙂
답변
아래 명령으로 백그라운드에서 루비 스크립트를 실행한다고 가정하십시오.
nohup ruby script.rb &
그런 다음 명령 이름을 지정하여 위의 백그라운드 프로세스의 pid를 얻을 수 있습니다. 제 경우에는 명령이 루비입니다.
ps -ef | grep ruby
산출
ubuntu 25938 25742 0 05:16 pts/0 00:00:00 ruby test.rb
kill 명령을 사용하여 프로세스를 쉽게 종료 할 수 있습니다.
kill 25938
답변
jobs -l 은 nohup 프로세스 목록에 대한 pid를 제공해야합니다. 그들을 부드럽게 (-9) 죽이십시오. 😉
답변
당신은 시도 할 수 있습니다
kill -9 `pgrep [command name]`
답변
이것은 작동합니다 Ubuntu
이것을 입력하여 PID
ps aux | grep java
자바에 관한 모든 실행중인 프로세스가 표시됩니다
내 경우에는
johnjoe 3315 9.1 4.0 1465240 335728 ? Sl 09:42 3:19 java -jar batch.jar
자 죽여 kill -9 3315
좀비 프로세스가 마침내 중단되었습니다.
답변
nohup으로 Java 프로그램을 실행한다고 가정하면 Java 프로세스 ID를 얻을 수 있습니다.
`ps aux | grep java`
산출
xxxxx 9643 0.0 0.0 14232 968 pts/2
다음을 입력하여 프로세스를 종료 할 수 있습니다
sudo kill 9643
또는 모든 Java 프로세스를 종료해야한다고 말하면됩니다.
sudo killall java
이 명령은 모든 Java 프로세서를 종료합니다. 프로세스와 함께 사용할 수 있습니다. 명령 끝에 프로세스 이름을 지정하십시오.
sudo killall {processName}