Kill,Pkill和Killall命令示例
# kill [signal or option] PID(s)对于kill命令,信号名称可以是:
Signal Name Signal Value Behaviour SIGHUP 1 Hangup SIGKILL 9 Kill Signal SIGTERM 15 Terminate显然,从上面 SIGTERM行为是默认的,并杀死一个进程最安全的方法 。SIGHUP是杀死一个过程 ,SIGTERM不太安全的方法 。SIGKILL是上述三者中最不安全的方式,杀死它终止一个进程而不保存过程。 为了杀死一个进程,我们需要知道进程的 进程ID。 一个 过程是一个程序的一个实例。 每一次一个程序启动时,自动将唯一的 PID是该过程中产生的。 在 Linux中每一个过程中,有一个 pid。 启动时的Linux系统启动的第一个进程是- init进程 ,因此它在大多数情况下分配的 '1'的值。 初始化是主的过程,不能被杀死这种方式,这确保了主进程不被意外杀害 。init将会决定,并允许自己被杀害,其中杀人仅仅是一个关闭的请求。 要知道所有的流程和相应的分配的 PID运行。
# ps -A
示例输出
PID TTY TIME CMD 1 ? 00:00:01 init 2 ? 00:00:00 kthreadd 3 ? 00:00:00 migration/0 4 ? 00:00:00 ksoftirqd/0 5 ? 00:00:00 migration/0 6 ? 00:00:00 watchdog/0 7 ? 00:00:01 events/0 8 ? 00:00:00 cgroup 9 ? 00:00:00 khelper 10 ? 00:00:00 netns 11 ? 00:00:00 async/mgr 12 ? 00:00:00 pm 13 ? 00:00:00 sync_supers 14 ? 00:00:00 bdi-default 15 ? 00:00:00 kintegrityd/0 16 ? 00:00:00 kblockd/0 17 ? 00:00:00 kacpid 18 ? 00:00:00 kacpi_notify 19 ? 00:00:00 kacpi_hotplug 20 ? 00:00:00 ata/0 21 ? 00:00:00 ata_aux 22 ? 00:00:00 ksuspend_usbd如何定制使用语法“ 的pidof进程的上面的输出。
# pidof mysqld
示例输出
1684另一种实现上述目标的方法是遵循以下语法。
# ps aux | grep mysqld
示例输出
root 1582 0.0 0.0 5116 1408 ? S 09:49 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql mysql 1684 0.1 0.5 136884 21844 ? Sl 09:49 1:09 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock root 20844 0.0 0.0 4356 740 pts/0 S+ 21:39 0:00 grep mysqld在我们前进并执行kill命令之前,需要注意以下几点:
- 用户可以杀死所有他的进程。
- 用户不能杀死另一个用户的进程。
- 用户无法杀死系统正在使用的进程。
- root用户可以杀死系统级进程和任何用户的进程。
# pgrep mysq
示例输出
3139要终止上述进程的 PID,使用kill命令,如图所示。
kill -9 3139上面的命令将其杀死 PID = 3139,其中 PID是过程的 数值的过程。 另一种执行相同功能的方式,可以重写为。
# kill -SIGTERM 3139类似“ 杀-9 PID'类似于' 杀-SIGKILL PID”,反之亦然。
如何使用进程名称杀死进程
你必须知道进程名称,在杀死和输入错误的进程名称可能会危及你。# pkill mysqld一次杀死多个进程。
# kill PID1 PID2 PID3 or # kill -9 PID1 PID2 PID3 or # kill -SIGKILL PID1 PID2 PID3如果一个进程有太多的实例和一些子进程,我们有一个命令 'killall'。这是该系列的唯一命令,它将进程名称替换为进程号作为参数。
句法:
# killall [signal or option] Process Name杀死所有 的MySQL实例与子进程一起,使用命令如下。
# killall mysqld如果进程正在运行,可以使用以下任何命令验证进程的状态。
# service mysql status # pgrep mysql # ps -aux | grep mysql这就是现在,从我身边。我很快会在这里再次与另一个有趣和信息的话题。至此,敬请期待,连接到 youcl和健康。 不要忘了给在评论部分您宝贵的意见 。