실수로 1000개가 넘는 화면을 만들었습니다. 하나의 명령으로 그들을 모두 죽이는 방법은 무엇입니까? (또는 여러 개)
답변1
당신은 그것을 사용할 수 있습니다 :
pkill screen
또는
killall screen
OSX에서는 이 프로세스를 SCREEN(모두 대문자)이라고 합니다. 따라서 다음을 사용하십시오.
pkill SCREEN
또는
killall SCREEN
답변2
화면이 정지되면 다음을 사용하세요.
screen -wipe
답변3
최근에 awk에 익숙해지면서 나는 이것을 함께 사용했고 그 목적을 달성했습니다. 이해하기 쉽기 때문에 포스팅합니다.
screen -ls | grep '(Detached)' | awk 'sys {screen -S $1 -X quit}'
현재 화면이 모두 나열 됩니다 screen -ls
.
grep 'pattern'
일치하는 모든 줄을 필터링합니다. 그런 다음 모든 개별 화면에 대한 핸들을 얻을 수 있고 awk가 선택한 첫 번째 인수를 참조하여 awk sys {command}
명령을 함께 복사하여 붙여넣고 를 사용하여 실행할 수 있습니다 sys
. $1
마지막으로 종료 명령을 실행합니다 screen -X quit
.
답변4
for scr in $(screen -ls | awk '{print $1}'); do screen -S $scr -X kill; done