단일 명령으로 하위 및 상위 프로세스 종료

단일 명령으로 하위 및 상위 프로세스 종료

저는 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

관련 정보