十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
kill -15 PID —— 正常方式终止一个程序。中断进程时应首先用 -15,以便于其能够预先清理临时文件和释放资源。-9 作为最后手段,应对那些失控的进程。
创新互联建站服务项目包括河北网站建设、河北网站制作、河北网页制作以及河北网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,河北网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到河北省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
1)、kill -15 终止后台运行的进程。
红色下划线:sleep 10000 —— 后台运行延时 10000 秒的命令,进程 ID 为1550。
黄色下划线:ps -j —— 列出 1550 sleep 命令的进程。
(PID:进程 ID、PGID:线程组 ID、SID:会话 ID、TTY:进程运行的终端,标识那个终端控制。(pts远程终端、tty系统终端)、TIME:进程运行的时间 和 CMD:命令的名称和参数)。
jobs -l —— 列出后台运行的命令,1550 sleep 命令正在后台运行。
蓝色下划线:kill -15 1550—— 终止1550 进程。系统反馈 Terminated 终止 1550 进程。
绿色方框:ps -j 已查询不到 1550 sleep 的进程。jobs -l 也没有后台运行的命令。
2)、kill -15 配合 fg 查看终止挂起的进程。
红色下划线:sleep 10000 延时 10000 秒后 ctrl + z 挂起。
黄色下划线:ps -j 查看进程,有 1578 sleep 的进程。jobs -l 查看后台,1578 sleep 的状态是 stopped 暂停状态。
蓝色下划线:kill -15 终止 1578 进程。此时系统没有反馈信息。
绿色下划线:ps -j 查看进程,1578 sleep 进程仍在。jobs -l 查看后台,1578 sleep 的状态是 stopped 暂停状态。
红色下划线:fg 1 把后台运行的 sleep 调至前台继续运行。此时,系统首先提示 sleep 已经调至前台运行,然后又提示 Terminated 终止进程。
蓝色下划线:ps -j 查看进程已经没有了 1578 sleep 进程。jobs -j 查看也后台也没有命令在执行。
3)、kill -15 配合 bg 查看终止挂起的进程。
同样的,首先sleep 10000 后 ctrl + z 挂起。通过 ps -j 查看后台进程有 1590 sleep进程,josb -l 查看后台也有状态为 stopped 的1590 sleep 命令。 然后,kill -15 1590 终止 1590 进程。再次通过 ps -j 查看1590 sleep进程仍在,josb -l 查看后台还有状态为 stopped 的1590 sleep 命令。
红色下划线:bg 1 把挂起的 sleep 命令继续运行。此时,系统反馈 sleep 命令在后台运行。
黄色下划线:ps -j 查看进程,系统反馈 sleep 进程已经 Terminated 终止。jobs -l 也查询不到sleep 在后台运行。
从实验上看:
1、后台命令运行时(Running),执行 kill -15 可以终止进程。
2、挂起命令,处于暂停状态时(Stopped),执行 kill -15 后通过 ps 还可以查询到进程, jobs还可以查询到后台命令,状态仍然是 Stopped 暂停状态。用 fg 把暂停的后台进程调至前台运行时,系统反馈一行 sleep 命令调至前台运行。跟着一条 Terminated 终止进程。再用 ps 查询不到进程。用 jobs 已经查询不到后台命令。(这里和 kill -2 不同,kill -2 后用 fg 系统只反馈一行 sleep 命令调至前台运行,没有提示进程已中断。)
3、挂起命令,处于暂停状态时(Stopped),执行 kill -15 后通过 ps 还可以查询到进程, jobs还可以查询到后台命令,状态仍然是 Stopped 暂停状态。用 bg 把暂停的后台命令恢复运行时,系统反馈 sleep 命令在后台运行。再用 ps 查询进程已经终止,用 jobs 已经查询不到后台命令。(这里和 kill -2一样)
kill 命令通常用于终止执行中的程序。 kill可将指定的信息送至程序。默认送的信息为SIGTERM (信息编号为15),代表关闭进程
kill -9 pid kill -15 pid (效果等同于 kill pid )
其中 9 和 15 指的是信息编号
什么是信息编号
使用kill -l 命令可以查看信息及编号
信息编号代指不同的信息,不同的信息有不同的含义
可以看到 9代表 SIGKILL,15 代表 SIGTERM 所以 ==kill -9 pid 代表 发送SIGKILL信息给这个pid的程序 kill -15 pid 代表 发送SIGTERM信息给这个pid的程序==
那么 SIGTERM(15)和 SIGKILL(9)有什么区别
SIGTERM :当进程接收到SIGTERM后,大多会先释放自己的资源,再停止进程,属于正常关闭进程,但是如果进程正在工作,处理io等,不会立马关闭,或者 进程卡死的情况,都会导致SIGTERM不起作用。
SIGKILL : SIGKILL信号要求进程 立即关闭,强制关闭进程。
工作中关闭进程时,==先kill pid(默认使用编号15),如果不起作用 再使用 kill -9 pid。==
查看nginx的pid: ps -ef | grep nginx
可以看到nginx的主进程编号 是 7901
正常关闭 nginx的主进程
kill -15 7901 或者 kill 7901 再次查看nginx的进程 发现已经关闭
启动nginx,查看进程号,再强制关闭 nginx
nginx
ps -ef | grep nginx
kill -9 9827
ps -ef | grep nginx
可以看到 kill -9 只是强制关闭了 nginx的主进程,由于不是正常关闭,worker进程并没有被关闭,这就是强制关闭的弊端,再次关闭worker进程 kill -9 9828
1、kill 命令默认使用的信息编号及信息是什么?
:15,代表正常关闭进程
2、kill -9 pid 中 信息编号9代表什么信息?
:强制关闭进程
3、如何查看kill的信息编号?
:kill -l
4、写出正常关闭 进程编号 为 233 的命令
:kill -15 pid or kill pid
5、写出强制关闭 进程编号 为 233 的命令
:kill -9 pid
kill -9 PID —— 强制杀死一个进程。
1、kill -9 杀死后台运行的进程。
红色下划线:sleep 10000 —— 后台运行延时 10000 秒的命令,进程 ID 为1317。
黄色下划线:ps —— 列出 1317 sleep 命令的进程。
(PID:进程 ID、PGID:线程组 ID、SID:会话 ID、TTY:进程运行的终端,标识那个终端控制。(pts远程终端、tty系统终端)、TIME:进程运行的时间 和 CMD:命令的名称和参数)。
jobs -l —— 列出后台运行的命令,1317 sleep 命令正在后台运行。
蓝色下划线:kill -9 1317—— 杀死 1317 进程。
绿色方框:ps 查询进程,1317 sleep进程已经被杀死(Killed)。jobs -l 已经没有后台运行的1317 sleep 命令。
2、kill -9 终止挂起的进程。
红色下划线:执行 sleep 10000 后 ctrl + z 挂起。
黄色下划线:ps -j 查看进程,有 1342 sleep 的进程。jobs -l 查看后台,1342 sleep 的状态是 stopped 暂停状态。
蓝色下划线:kill -9 杀死 1342 进程。此时系统没有反馈信息。
绿色下划线:ps -j 查看进程,1342 sleep 已经被杀死(Killed)。jobs -l 查看后台,已经没有了 1342 sleep。
从实验上看:
1、后台命令运行时(Running),执行 kill -9 可以强杀进程。
2、挂起命令,处于暂停状态时(Stopped),执行 kill -9 后通过 ps 查询进程, 可以看到进程已经被杀死。jobs 也查不到有后台命令。(这里和 kill -2、kill -15 不一样。kill -2、kill -15 在挂起命令,处于暂停状态时(Stopped)时执行,通过 ps 还可以查询到进程,jobs 也可以查询到后台仍有处于暂停状态的命令。)
1、首先,连接相应linux主机,进入到linux命令行状态下,等待输入shell指令。
2、其次,以终止进程号1984的nginx子进程为例,在linux命令行中输入:kill -9 1984。
3、最后,按下回车键执行shell指令,此时会看到进程号1984的nginx子进程被成功终止了。
首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令:
# kill -pid
注释:标准的kill命令通常都能达到目的。终止有问题的进程,并把进程的资源释放给系统。然而,如果进程启动了子进程,只杀死父进程,子进程仍在运行,因此仍消耗资源。为了防止这些所谓的“僵尸进程”,应确保在杀死父进程之前,先杀死其所有的子进程。
*确定要杀死进程的PID或PPID
# ps -ef | grep httpd
结束进程
# kill -l PID
-l选项告诉kill命令用好像启动进程的用户已注销的方式结束进程。当使用该选项时,kill命令也试图杀死所留下的子进程。但这个命令也不是总能成功--或许仍然需要先手工杀死子进程,然后再杀死父进程。
给父进程发送一个TERM信号,试图杀死它和它的子进程。
# kill -TERM PPID
*killall命令
killall命令杀死同一进程组内的所有进程。其允许指定要终止的进程的名称,而非PID。
# killall httpd
*停止和重启进程
有时候只想简单的停止和重启进程。如下:
# kill -HUP PID
该命令让Linux和缓的执行进程关闭,然后立即重启。在配置应用程序的时候,这个命令很方便,在对配置文件修改后需要重启进程时就可以执行此命令。
Linux kill 命令用于终止进程,其用法步骤如下:
需要准备的材料分别是:电脑、linux连接工具。
1、首先连接上linux主机,进入命令行状态。
2、输入:ps -ef,按回车,查询进程列表。
3、选择需要终止的进程,例如PID为9977的进程,则命令行输入:kill 9977,按回车即可终止该进程。