Linux pkill命令

内容纲要

pkill 命令是 Linux 系统中用于发送信号到进程的一个工具,它通过名称、用户、终端等属性来匹配进程。这使得它非常适合用来批量处理那些符合特定模式的进程,而不需要知道这些进程的精确进程号(PID)。

详细介绍

pkill 命令的基本语法是:

pkill [options] <pattern>

其中 <pattern> 是你想要匹配的进程名称或其他属性的模式。

Linux 上 pkill --help

pkill --help

Usage:
 pkill [options] <pattern>

Options:
 -<sig>, --signal <sig>    signal to send (either number or name)
 -q, --queue <value>       integer value to be sent with the signal
 -e, --echo                display what is killed
 -c, --count               count of matching processes
 -f, --full                use full process name to match
 -g, --pgroup <PGID,...>   match listed process group IDs
 -G, --group <GID,...>     match real group IDs
 -i, --ignore-case         match case insensitively
 -n, --newest              select most recently started
 -o, --oldest              select least recently started
 -O, --older <seconds>     select where older than seconds
 -P, --parent <PPID,...>   match only child processes of the given parent
 -s, --session <SID,...>   match session IDs
 -t, --terminal <tty,...>  match by controlling terminal
 -u, --euid <ID,...>       match by effective IDs
 -U, --uid <ID,...>        match by real IDs
 -x, --exact               match exactly with the command name
 -F, --pidfile <file>      read PIDs from file
 -L, --logpidfile          fail if PID file is not locked
 -r, --runstates <state>   match runstates [D,S,Z,...]
 --ns <PID>                match the processes that belong to the same
                           namespace as <pid>
 --nslist <ns,...>         list which namespaces will be considered for
                           the --ns option.
                           Available namespaces: ipc, mnt, net, pid, user, uts

 -h, --help     display this help and exit
 -V, --version  output version information and exit

For more details see pgrep(1).

常用选项

  • -signal:指定要发送的信号,默认为 SIGTERM(终止信号)。例如,pkill -HUP <pattern> 会发送 SIGHUP 信号。
  • -u:按用户名或用户 ID 过滤进程。例如,pkill -u username 会杀掉属于 username 用户的所有进程。
  • -f:使用完整的命令行进行匹配,而不仅仅是进程名称。
  • -n:只对最新启动的进程进行操作。
  • -o:只对最旧的进程进行操作。
  • -v:反转匹配,即操作那些不匹配模式的进程。

使用实例

  1. 杀死所有名为 'firefox' 的进程

    pkill firefox
  2. 发送重启信号给所有 SSH 进程

    pkill -HUP sshd
  3. 杀死所有用户 'bob' 的进程

    pkill -u bob
  4. 使用完整命令行匹配杀死进程

    pkill -f '/usr/bin/python my_script.py'

pkill 是一个非常强大的工具,能够方便地管理系统中的进程。使用时需要谨慎,因为错误的模式匹配可能导致意外的进程被杀死。在实际应用中,建议先使用 pgrep(与 pkill 类似,但只列出匹配的进程 ID 而不发送信号)来测试模式匹配,确保匹配结果正确无误后再使用 pkill

Leave a Comment

您的电子邮箱地址不会被公开。 必填项已用*标注

close
arrow_upward