プロセスを終了した後もまだリストされているのはなぜですか?

プロセスを終了した後もまだリストされているのはなぜですか?

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.

一番上には「処理する信号を送る」があります。これは、プロセスが終了するという意味ではなく、単に信号が送信されるという意味です。

基本信号はですSIGTERMman signal.7によると、SIGTERMキャプチャ可能です。これは、プログラムが停止要求を受け取り、それに対して操作を実行する機会があることを意味します。データベースの場合は、停止する前に保存されている可能性があります。

プログラムが処理していない場合、またはSIGTERM停止以外の操作を選択すると、現在表示されている動作が発生します。

他の信号を送信することもできます。 SIGINT(2)端末でCTRL + Cを使用して送信するのと同じです。一般的なものSIGKILL(9)これはおそらくあなたが望むものです。 SIGKILLプロセスに伝播されないいくつかの信号の1つです。代わりに、プロセスを終了するように信号をカーネルに送信します。この場合、プロセスがハンドルでコーディングされているかどうかは重要ではなく、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.

おすすめ記事