
bash
Ubuntu Linux(12.04)에서 많은 프로세스가 실행되고 있습니다. 터미널을 닫아도 계속 나타납니다 System Monitor
.
다음과 같이 죽이려고 시도했지만 동일하게 유지됩니다. 문제를 어떻게 진단하고 종료할 수 없는 이유는 무엇입니까?
user$ ps aux | grep bash
user 2807 0.0 0.0 9484 56 pts/20 Ss+ Mar18 0:00 /bin/bash
user 4431 0.0 0.1 9228 5616 pts/7 Ss 10:39 0:00 bash
user 4655 0.0 0.0 4372 844 pts/7 R+ 10:45 0:00 grep --color=auto --exclude-dir=.svn bash
user 5664 0.0 0.0 12764 12 pts/6 Ss Feb05 0:01 /bin/bash
user 5812 99.6 0.1 11276 7088 ? Rs Sep22 3923:00 bash
user 6174 0.0 0.0 13016 28 pts/19 Ss+ Feb13 0:04 /bin/bash
p 10964 0.0 0.0 11700 28 pts/2 Ss+ Feb11 0:01 bash
p 11126 0.0 0.0 7952 560 pts/3 Ss+ Feb11 0:00 bash
user 18195 0.0 0.0 17320 344 pts/9 Ss+ Apr22 0:29 /bin/bash
user 21721 0.0 0.0 15924 4 pts/10 Ss+ Feb01 0:10 /bin/bash
user 22915 4.7 0.3 19400 13056 pts/22 Rs+ Jul29 3950:07 /bin/bash
user 24030 0.0 0.0 13740 4 pts/23 Ss+ Mar24 0:15 /bin/bash
user 29787 0.0 0.1 9220 5572 pts/11 Ss+ Sep23 0:00 /bin/bash
user$
user$ pkill -f bash
pkill: 10964 - Operation not permitted
pkill: 11126 - Operation not permitted
user$ sudo pkill -f bash
user$
user$ ps aux | grep bash
user 2807 0.0 0.0 9484 56 pts/20 Ss+ Mar18 0:00 /bin/bash
user 4431 0.0 0.1 9228 5616 pts/7 Ss 10:39 0:00 bash
user 4660 0.0 0.0 4372 844 pts/7 R+ 10:45 0:00 grep --color=auto --exclude-dir=.svn bash
user 5664 0.0 0.0 12764 12 pts/6 Ss Feb05 0:01 /bin/bash
user 5812 99.6 0.1 11276 7088 ? Rs Sep22 3923:21 bash
user 6174 0.0 0.0 13016 28 pts/19 Ss+ Feb13 0:04 /bin/bash
p 10964 0.0 0.0 11700 28 pts/2 Ss+ Feb11 0:01 bash
p 11126 0.0 0.0 7952 560 pts/3 Ss+ Feb11 0:00 bash
user 18195 0.0 0.0 17320 344 pts/9 Ss+ Apr22 0:29 /bin/bash
user 21721 0.0 0.0 15924 4 pts/10 Ss+ Feb01 0:10 /bin/bash
user 22915 4.7 0.3 19400 13056 pts/22 Rs+ Jul29 3950:29 /bin/bash
user 24030 0.0 0.0 13740 4 pts/23 Ss+ Mar24 0:15 /bin/bash
user 29787 0.0 0.1 9220 5572 pts/11 Ss+ Sep23 0:00 /bin/bash
답변1
"unkillable" bash 프로세스가 사용자로 실행 중입니다 p
.
user 6174 0.0 0.0 13016 28 pts/19 Ss+ Feb13 0:04 /bin/bash
p 10964 0.0 0.0 11700 28 pts/2 Ss+ Feb11 0:01 bash
p 11126 0.0 0.0 7952 560 pts/3 Ss+ Feb11 0:00 bash
user 18195 0.0 0.0 17320 344 pts/9 Ss+ Apr22 0:29 /bin/bash
user 로 실행 중이므로 user
사용자의 프로세스를 직접 종료할 수 없습니다 p
.
액세스 권한이 있는 경우 sudo
루트 또는 일반 사용자로 kill 명령을 실행할 수 있습니다 p
. 이전 사용자 세션일 수 있는 경우 편집자 등이 종료하기 전에 저장되지 않은 작업의 백업을 저장할 수 있으므로 를 kill -HUP
사용하는 것이 를 사용하는 것보다 낫습니다 . 또한 대화형 셸 프로세스(예: 이전 세션) 는 kill
일반 셸 프로세스의 영향을 받지 않지만 제대로 작동합니다.kill
kill -HUP
다음 사용자로 kill 명령을 실행하십시오 p
.
user$ sudo -u p kill -HUP 10964 11126
또는 루트 권한을 사용하십시오.
user$ sudo kill -HUP 10964 11126
user로 실행되는 프로세스의 경우 p
user로 실행되는 kill 명령은 p
루트로 실행되는 kill 명령만큼 강력합니다. 일반 사용자라도 자신이 소유한 프로세스의 수명과 종료에 대한 완전한 권한을 갖습니다.
답변2
당신의 시스템에서 bash를 죽일 수 없다고 생각하지 않습니까? Bash에서 애플리케이션/프로그램을 실행하고 Bash에서 실행 중인 프로그램을 종료할 수 있습니다. 이제 bash에서 실행되는 모든 프로그램의 프로세스 ID를 찾을 수 있습니다. 터미널에서 볼 수 있듯이:
> user 4660 0.0 0.0 4372 844 pts/7 R+ 10:45 0:00 grep > --color=auto --exclude-dir=.svn bash
프로세스를 종료해 보십시오.
sudo kill 4660
또는
sudo kill -9 4660
무슨 일이 일어났는지 알려줘