![단일 명령으로 하위 및 상위 프로세스 종료](https://linux55.com/image/16308/%EB%8B%A8%EC%9D%BC%20%EB%AA%85%EB%A0%B9%EC%9C%BC%EB%A1%9C%20%ED%95%98%EC%9C%84%20%EB%B0%8F%20%EC%83%81%EC%9C%84%20%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%20%EC%A2%85%EB%A3%8C.png)
저는 Fedora 14를 사용하여 인터넷에 연결하고 있습니다. sudo wvdial
터미널은 계속 작동해야 합니다. 내 요구 사항은 yum update
별도의 터미널에서 실행한 다음 wvdial과 해당 상위 터미널을 종료 init 0
하고 su -c
.
sudo wvdial
다음을 수행할 수 있도록 하나의 명령으로 하위 프로세스(여기서는 wvdial을 실행하는 터미널)와 상위 프로세스(여기서는 wvdial을 실행하는 터미널)를 모두 종료할 수 있는 방법이 있습니까 ?
su -c 'yum update; kill-child-parent-processes; init 0'
다음은 kill-child-parent-processes
종료할 수 있는 메서드 sudo wvdial
와 해당 상위 터미널을 나타냅니다.
감사해요.
답변1
sid
터미널에서 실행중인 쉘의 세션ID( )를 알아내야 합니다 .
jinx:802 Z$ ps -p$$ -o sid
SESS
17424
(현학적 경고: 대개이는 와 동일합니다 $$
. 다르다면 아마도 작동하지 않을 것입니다. ) 이를 사용하여 터미널에서 실행 중인 세션을 종료할 수 있습니다. 이 방법으로 터미널을 직접 종료할 수는 없지만(창 관리자 세션에 있음) 터미널이 자동으로 닫히도록 설정된 경우(일반적으로 그렇습니다) 자체적으로 사라집니다.
jinx:803 Z$ pkill -s 17424