지정된 이름의 모든 프로세스를 종료하려면 어떻게 해야 합니까?
취득한 모든 프로세스를 정지합니다.
ps aux | grep my_pattern
어떻게 하는 거야?
이것은 동작하지 않습니다.
pkill my_pattern
pkill -f
pkill -f my_pattern
동작하지 않는 경우는, 다음의 것도 사용해 주세요.
pkill -9 -f my_pattern
문자열 "myProcessName"에 일치하는 모든 프로세스를 종료합니다.
ps -ef | grep 'myProcessName' | grep -v grep | awk '{print $2}' | xargs -r kill -9
출처 : http://www.commandlinefu.com/commands/view/1138/ps-ef-grep-process-grep-v-grep-awk-print-2-xargs-kill-9
단말기의 "ps 파이프 킬"이 나쁜 이유:
이 ps -ef
로로 합니다.kill -9
root 사용자 또는 권한 상승 사용자라면 프로세스에서 소켓 접속을 완전히 셧다운하거나 임시 파일을 정리하거나 자녀에게 삭제 또는 단말기 특성을 리셋할 기회가 없기 때문에 두 배로 좋지 않습니다.
대신 15개를 보내고 1~2초 기다렸다가 안 되면 2개를 보내고 안 되면 1개를 보내 주세요.그렇지 않으면 프로그램이 제대로 작동하지 않으므로 바이너리를 제거하십시오.
원칙적으로 우리는 울타리를 다듬기 위해 Unix Railgun을 사용하지 않는다.https://porkmail.org/era/unix/award.html#kill
위의 명령어 설명:
ps -ef
는 이 사용자가 볼 수 있는 컴퓨터에 프로세스 ID 목록을 생성합니다.파이프 GREP는 해당 문자열을 포함하는 행을 필터링합니다.grep -v grep
ping 을 .파이프 awk 인쇄에는 기본 구분 기호 공백의 행을 분할하고 프로세스 ID인 두 번째 열로 필터링한다고 나와 있습니다. 모든 pid를 "xargs"로합니다.kill -9
모든 걸 끝내는 거죠
★★★★ps pipe kill
", ", ", ", ", ":
없는되지 않은 system이 원인입니다.
ps -ef
에는 수천 개의 프로세스가 나열되어 있으며, 일부 서드파티 프로세스가 프로세스 이름을 공유하고 있는지, 또는 읽기부터 실행까지의 사이에 프로세스 ID가 다른 것으로 변경되었는지 여부를 확인할 수 없습니다.이것으로, 사용의 프로세스와는 관계없는 임의의 필요 프로세스가 종료되었습니다.강제 종료되는 코드가 낮은 확률의 레이스 조건으로 데이터베이스 ops 또는 시큐어 트랜잭션을 실행하고 있는 경우, 그 트랜잭션의 원자성이 파괴되어 정의되지 않은 동작이 발생합니다.-9살은 포로가 되지 않는다.이 " "를 .
xargs kill
shutdown을 를 만듭니다.또 요구가 에만, to under-ruction to 셧다운이 됩니다.kill -9
단, 고객의 모든 위험과 제어에 대해 고유한 이름을 사용하고 몇 가지 거래 중단이나 가끔 발생하는 부정부패가 문제가 되지 않는 경우 99.9%의 확률로 문제가 없습니다.문제가 있는 경우는, 컴퓨터를 재기동해, 프로세스의 충돌이 없는 것을 확인합니다.이러한 코드 때문에 기술 지원 스크립트가 레벨 5의 밈이 됩니다.「컴퓨터를 재기동해 본 적이 있습니까?」"로봇이 긁혀서ps
를 kill -9
이치노
왜그 use use use use use use use use use 를 쓰지 않는 거죠?pkill
느느것 이이? ????
는 내가 할 수 있게 해 준다.ps
,grep
,awk
,kill
★★★★★★★★★★★★★★★★★」xargs
을 사용하다어떤 regex 엔진을 사용할지, 프로세스 이름의 어떤 부분을 일치시킬지, 대소문자를 구분하고 예외를 관리할 수 있습니다.
pkill -f -e -c myProcessName
입니다만, 「 」를 참조해 주세요.man pkill
Linux, Mac, Zune-Bash, Linux, Mac, Zune-Bash 른 、 gexxgegege 、 gegege 、 regex gegege 。와000 35000 、 Unix - Railgun killkillkillkill pkill killkillkillkill 。어떤 현상이 일어나는지 본다.
사용하는 프로세스를 보다 유연하게 선택할 필요가 있는 경우
for KILLPID in `ps ax | grep 'my_pattern' | awk ' { print $1;}'`; do
kill -9 $KILLPID;
done
grep - e 등을 사용할 수 있습니다.
다음 명령을 사용하여 프로세스를 나열할 수 있습니다.
ps aux | grep -c myProcessName
프로세스 수를 확인해야 할 경우,
ps aux | grep -c myProcessName |grep -v grep
그 후 프로세스를 종료할 수 있습니다.
kill -9 $(ps aux | grep -e myProcessName | awk '{ print $2 }')
, ,을 사용할 수 있습니다.killall -r my_pattern
. 프로세스 이름 패턴을 확장 정규 표현으로 해석합니다.
killall -r my_pattern
다음 명령을 사용하여
kill -9 $(ps aux | grep 'process' | grep -v 'grep' | awk '{print $2}')
하건 면건 면건 면건 면건 면건 면건 면 if if ifpkill -f PATTERN
조금 위험합니다. 죽이고 싶은 패턴과 일치하는 프로세스를 선택하도록 지시하는 bash 스크립트를 ezkill로 작성했습니다.
경고:이 프로젝트는 더 이상 유지 보수되지 않습니다.
프로세스 ID를 찾는 번거로움을 겪지 않으려면 regexp를 사용하여 프로세스를 이름으로 종료합니다.예를 들어 크롬을 죽이기 위해 다음 코드를 사용하면 효과가 있습니다.
killall -r chrome
「」를인 방법을 .pkill
kill -9 $(ps ax | grep My_pattern| fgrep -v grep | awk '{ print $1 }')
루프할 필요는 없습니다.
방법은 다음과 같습니다.
kill -9 $(pgrep -d' ' -f chrome)
은 pgrep에 된 모든 합니다.chrome
이치노
이것은 에 전달됩니다.kill
하게 「」할 수 .kill
된 모든 「」chrome
★★★★★★ 。
아직 위험하니 조심하세요.
다음 명령을 사용하여 수행할 수 있습니다.
ps -ef | grep -i myprocess | awk {'print $2'} | xargs kill -9
또는
ps -aux | grep -i myprocess | awk {'print $2'} | xargs kill -9
저는 좋아요.
안 좋아?
pkill `pidof myprocess`
예:
# kill all java processes
pkill `pidof java`
사용하는 것이 가장 안전하다pgrep -f
kill
그냥 " " " " "pkill -f
,grep
ps
의 출력이 잘못될 수 있습니다.
「」를 사용하는 것과는 , 「」를 사용하는 경우는 .ps | grep
를 으로써, 할 필요가 .| grep -v
패턴 트릭을 하여 '패턴 트릭'을 사용합니다.pgrep
의도한 대로는 되지 않습니다.
이 「」에는, 「」에 되는 경우는, 「」.ps
의 »UID
/USER
,SDATE
/START
pgrep
+pkill
이 결함에 괴로워하지 마세요.
그리고 나는 그것을 발견했다.killall -r
/ -regexp
제 정규표현과 안 맞아서
pkill -f "^python3 path/to/my_script$"
나는 Eugen Rike의 대답을 듣고 그것을 가지고 일했다.내 코드는 다음을 추가합니다.
ps ax
포함되어 에 GREP에서는 했습니다.grep -Eiv 'grep'
- 몇 가지 예시와 에코를 추가하여 사람이 읽을 수 있도록 했습니다.
을 작성했습니다killserver
기기있있있있다다
#!/bin/bash
PROCESS_TO_KILL=bin/node
PROCESS_LIST=`ps ax | grep -Ei ${PROCESS_TO_KILL} | grep -Eiv 'grep' | awk ' { print $1;}'`
KILLED=
for KILLPID in $PROCESS_LIST; do
if [ ! -z $KILLPID ];then
kill -9 $KILLPID
echo "Killed PID ${KILLPID}"
KILLED=yes
fi
done
if [ -z $KILLED ];then
echo "Didn't kill anything"
fi
결과.
➜ myapp git:(master) bash killserver
Killed PID 3358
Killed PID 3382
Killed
➜ myapp git:(master) bash killserver
Didn't kill anything
언급URL : https://stackoverflow.com/questions/8987037/how-to-kill-all-processes-with-a-given-partial-name
'programing' 카테고리의 다른 글
WPF 텍스트 블록에 경계 추가 (0) | 2023.04.09 |
---|---|
MIN 또는 MAX에 늘 값을 포함하려면 어떻게 해야 합니까? (0) | 2023.04.09 |
"TypeError: process.getuid가 함수가 아닙니다"를 해결하는 방법 (0) | 2023.04.04 |
Angular를 적용하는 방법ng-class에 의해 설정된 클래스에 기반한 JS 디렉티브? (0) | 2023.04.04 |
Wordpress wp_delete_attachment 파일을 미리 정의된 사용자 지정 폴더에서 삭제하도록 합니다. (0) | 2023.04.04 |