프로세스를 종료한 후에도 여전히 나열되는 이유는 무엇입니까?

프로세스를 종료한 후에도 여전히 나열되는 이유는 무엇입니까?

vlc를 실행하는 모든 프로세스를 나열합니다.

debian@debian:~$ ps aux |grep vl[c]
debian     14482  0.1  2.2 2882968 136428 ?      Sl   10:19   0:02 vlc -I telnet --telnet-host 192.168.31.167 --telnet-port 4212 --telnet-password admin
debian     15174  0.2  2.4 2881576 145368 ?      Ssl  10:32   0:03 vlc -d -I telnet --telnet-host 192.168.31.167 --telnet-port 4212 --telnet-password admin
debian     15641  0.3  2.4 2896668 146380 ?      SLsl 10:42   0:01 vlc -d -I telnet --telnet-host 192.168.31.167 --telnet-port 4212 --telnet-password admin

그들 모두를 죽일:

debian@debian:~$ sudo kill 14482
debian@debian:~$ sudo kill 15174
debian@debian:~$ sudo kill 15641

다시 나열:

debian@debian:~$ ps aux |grep vl[c]
debian     14482  0.1  2.2 2882968 136428 ?      Sl   10:19   0:02 vlc -I telnet --telnet-host 192.168.31.167 --telnet-port 4212 --telnet-password admin
debian     15174  0.2  2.4 2881576 145368 ?      Ssl  10:32   0:03 vlc -d -I telnet --telnet-host 192.168.31.167 --telnet-port 4212 --telnet-password admin
debian     15641  0.3  2.4 2896668 146380 ?      SLsl 10:42   0:01 vlc -d -I telnet --telnet-host 192.168.31.167 --telnet-port 4212 --telnet-password admin

프로세스를 종료한 후에도 여전히 나열되는 이유는 무엇입니까?

답변1

확인하다 man kill:

KILL(1)                         User Commands                        KILL(1)

NAME
       kill - send a signal to a process

SYNOPSIS
       kill [options] <pid> [...]

DESCRIPTION
       The  default signal for kill is TERM.  Use -l or -L to list available
       signals.  Particularly useful signals include HUP, INT,  KILL,  STOP,
       CONT,  and  0.  Alternate signals may be specified in three ways: -9,
       -SIGKILL or -KILL.  Negative PID values may be used to  choose  whole
       process  groups;  see the PGID column in ps command output.  A PID of
       -1 is special; it indicates all processes except the kill process it‐
       self and init.

맨 위에는 "처리할 신호 보내기"가 있습니다. 이는 프로세스가 종료된다는 의미가 아니라 단지 신호가 전송된다는 의미입니다.

기본 신호는 입니다 SIGTERM. man signal.7에 따르면 SIGTERM캡처 가능합니다. 이는 프로그램이 중지 요청을 받은 다음 이에 대한 작업을 수행할 수 있는 기회가 있음을 의미합니다. 데이터베이스라면 중지하기 전에 저장되었을 수도 있습니다.

프로그램이 을 처리하지 않거나 SIGTERM중지 이외의 작업을 선택하면 현재 보고 있는 동작이 발생합니다.

다른 신호를 보내볼 수도 있습니다. SIGINT(2) 터미널에서 CTRL+C를 사용하여 보내는 것과 동일합니다. 일반적인 것 SIGKILL(9)이 아마도 당신이 원하는 것일 것입니다. SIGKILL프로세스에 전파되지 않는 몇 가지 신호 중 하나입니다. 대신 프로세스를 종료하라는 신호를 커널에 보냅니다. 이 경우 프로세스가 핸들로 코딩되었는지 여부는 중요하지 않으며 SIGTERM알림 없이 커널에 의해 중지됩니다. 단점은 작업을 저장해야 하거나 종료된다는 사실을 동료에게 알리는 경우 기회가 없다는 것입니다. 사용법은 이렇습니다.

$ sudo kill -9 14482
or
$ sudo kill -KILL 94471

man signal.7자세한 내용이 있습니다. 귀하의 컴퓨터가 내 컴퓨터와 다른 경우 해당 컴퓨터의 매뉴얼 페이지를 참조로 사용하십시오.

   Standard signals
       Linux supports the standard signals listed below.  The second  column
       of  the table indicates which standard (if any) specified the signal:
       "P1990" indicates that  the  signal  is  described  in  the  original
       POSIX.1-1990 standard; "P2001" indicates that the signal was added in
       SUSv2 and POSIX.1-2001.

       Signal      Standard   Action   Comment
       ───────────────────────────────────────────────────────────────────────
       SIGABRT      P1990      Core    Abort signal from abort(3)
       SIGALRM      P1990      Term    Timer signal from alarm(2)
       SIGBUS       P2001      Core    Bus error (bad memory access)
       SIGCHLD      P1990      Ign     Child stopped or terminated
       SIGCLD         -        Ign     A synonym for SIGCHLD
       SIGCONT      P1990      Cont    Continue if stopped
       SIGEMT         -        Term    Emulator trap
       SIGFPE       P1990      Core    Floating-point exception
       SIGHUP       P1990      Term    Hangup detected on controlling terminal
                                       or death of controlling process
       SIGILL       P1990      Core    Illegal Instruction
       SIGINFO        -                A synonym for SIGPWR
       SIGINT       P1990      Term    Interrupt from keyboard
       SIGIO          -        Term    I/O now possible (4.2BSD)
       SIGIOT         -        Core    IOT trap. A synonym for SIGABRT
       SIGKILL      P1990      Term    Kill signal
       SIGLOST        -        Term    File lock lost (unused)
       SIGPIPE      P1990      Term    Broken pipe: write to pipe with no

                                       readers; see pipe(7)
       SIGPOLL      P2001      Term    Pollable event (Sys V);
                                       synonym for SIGIO
       SIGPROF      P2001      Term    Profiling timer expired
       SIGPWR         -        Term    Power failure (System V)
       SIGQUIT      P1990      Core    Quit from keyboard
       SIGSEGV      P1990      Core    Invalid memory reference
       SIGSTKFLT      -        Term    Stack fault on coprocessor (unused)
       SIGSTOP      P1990      Stop    Stop process
       SIGTSTP      P1990      Stop    Stop typed at terminal
       SIGSYS       P2001      Core    Bad system call (SVr4);
                                       see also seccomp(2)
       SIGTERM      P1990      Term    Termination signal
       SIGTRAP      P2001      Core    Trace/breakpoint trap
       SIGTTIN      P1990      Stop    Terminal input for background process
       SIGTTOU      P1990      Stop    Terminal output for background process
       SIGUNUSED      -        Core    Synonymous with SIGSYS
       SIGURG       P2001      Ign     Urgent condition on socket (4.2BSD)
       SIGUSR1      P1990      Term    User-defined signal 1
       SIGUSR2      P1990      Term    User-defined signal 2
       SIGVTALRM    P2001      Term    Virtual alarm clock (4.2BSD)
       SIGXCPU      P2001      Core    CPU time limit exceeded (4.2BSD);
                                       see setrlimit(2)
       SIGXFSZ      P2001      Core    File size limit exceeded (4.2BSD);
                                       see setrlimit(2)
       SIGWINCH       -        Ign     Window resize signal (4.3BSD, Sun)

       The signals SIGKILL and SIGSTOP cannot be  caught,  blocked,  or  ig‐
       nored.

관련 정보