分享

Linux学习笔记-进程的启动/终止/优先级

 苏醒的贝壳 2018-05-22

Linux的进程启动的方式不外乎有两种方式:调度启动和手动启动,调度启动就是我们经常使用的任务计划啦,而手动启动则是由用户输入命令,然后Linux执行的一个过程,分为前台启动和后台启动。

前台启动

手动启动一个进程,比如输入一个ls、pwd等命令。它的特点是会一直占据着终端的窗口,直至完成。一般适合运行时间比较短,需要与用户进行交互的程序。

例如,前台启动,会占据终端窗口,直至命令运行完成

Linux学习笔记-进程的启动/终止/优先级

在终端窗口运行直至命令结束,终端可以看到结果

后台启动

与前台启动相对应,不管进程是否完成,都会立即返回到shell提示符下,在窗口页面等待他完成。好处是,你可以在它后台运行的时候,继续运行其他命令。如果一个进程比较耗时,也不需要用户的交互,可以考虑使用后台启动。要以后台的方式启动一个进程,只要在运行的命令后面添加&即可,例如:

Linux学习笔记-进程的启动/终止/优先级

终端只会告知进程id,可以通过ip查看进程的运行结果

使用jobs命令,可以看到系统当前正在运行的所有后台进程:

Linux学习笔记-进程的启动/终止/优先级

需要特别注意的是,如果用户退出终端,该用户执行的所有程序全部会结束,包括正在执行的后台程序。

可以使用nohup命令,保证命令运行的后台进程不会因此结束:

Linux学习笔记-进程的启动/终止/优先级

可以使用fg %n关闭nohup命令

终止进程

前台进行-直接Ctrl+C就可以了

如果是后台进行,需要使用kill来终止进行,需要使用ps命令去获取进程id,然后用kill命令杀掉进程。常用选项 -s signal顾名思义,信号名或者信号代码,查看所有的信号代码

Linux学习笔记-进程的启动/终止/优先级

代码很多,通常都是9或者15,这两个表示终止进程运行

比如要终止我们后台的进程,可以如下:

Linux学习笔记-进程的启动/终止/优先级

-9表示发送杀死进程的信号

如果使用这个命令都无法终止,那么可能这些进程已经处于僵死状态,需要通过重启计算机解决

killall

如果我们需要杀死一个程序运行的所有进程,使用kill命令就比较麻烦了,因为一个程序通常会包含很多的进程,因此,我们可以使用killall命令来杀死程序的所有进程

命令格式:killall 进程名

Linux学习笔记-进程的启动/终止/优先级

杀死所有ping命令的进程

Linux学习笔记-进程的启动/终止/优先级

已经成功杀掉

这是针对进程来进行操作,如果一个文件被很多人占用,我们希望全部杀掉,方便我们对这个文件进行操作和处理,可以使用fuser命令,命令格式如下

fuser -k filename

Linux学习笔记-进程的启动/终止/优先级

-m能够查看当前这个文件相关的进程等,然后使用-k杀掉

优先级

在Linux系统中,每个进程在执行时都会有一个优先级,等级越高,进程获取CPU的时间越多,处理就会更快。进程的优先等级范围是-20-19,其中-20最高,19最低,默认级别为0,使用nice和renice命令可以更改优先级

Linux学习笔记-进程的启动/终止/优先级

以上就是关于Linux进程管理的一些比较常用的操作,感谢阅读!

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多