PGID를 종료했지만 프로세스가 다시 태어나고 있는데 어떻게 지속하게 만들 수 있나요?

PGID를 종료했지만 프로세스가 다시 태어나고 있는데 어떻게 지속하게 만들 수 있나요?

ps aux --forest -j부모 프로세스와 자식 프로세스를 보기 위해 달려갔습니다 . 예는 다음과 같습니다.

root      3744  3744  3744  0.0  0.2  77084  4160 ?        Ss   09:34   0:00 /usr/sbin/cupsd -f
lp        3747  3747  3744  0.0  0.1  63156  2236 ?        S    09:34   0:00  \_ /usr/lib/cups/notifier/dbus dbus:// 
lp        3748  3748  3744  0.0  0.1  63156  2240 ?        S    09:34   0:00  \_ /usr/lib/cups/notifier/dbus dbus:// 

세 번째 열은 PGID입니다. 내 목표는 상위 프로세스의 PGID 3744를 사용하여 3개의 PID를 모두 종료하는 것입니다. 내 명령은 -

pkill -TERM -g 3744

그러나 이는 효과적이며 프로세스는 새 PID로 다시 생성됩니다. 어떻게 이것을 방지하고 영구적으로 만들 수 있습니까?

답변1

다음을 사용하는 Ubuntu 14.04를 실행 중입니다.upstart초기화 프로세스로. 여기에서 /etc/init/cups.conf하나의 섹션이 있음을 알 수 있으므로 respawn기본적으로 cupd 프로세스가 끝나면 다른 섹션이 시작됩니다.

# kill -TERM -3390
# tail -1 /var/log/syslog
Aug  9 14:22:49 ubuntu kernel: [  283.270126] init: cups main process ended, respawning

다음 재부팅 시 cupd 프로세스 트리가 종료되고 다시 시작되기를 원한다고 말합니다. 이렇게 하려면 다음 명령을 사용 initctl stop하거나 그냥 사용 하면 됩니다.stop

# stop cups
cups stop/waiting

cups-browsed컵과 관련된 모든 것을 멈추고 싶다면 당신도 멈추고 싶을 수도 있습니다.

서비스가 영구적으로 비활성화되지는 않습니다. 다시 시작하면 컵 프로세스가 시작됩니다.

관련 정보