Linux系列(15)之进程管理
详细情况查看:https://www.cnblogs.com/dengyungao/p/8523628.html
1.查看进程
有两个命令可以查看进程,分别是ps与top(推荐使用),那他们有什么区别
top:动态查看当前进程,显示的信息更多,并且会实时会显示各个进程对cpu利用率的变化。
1.ps指令用法
这个指令的选项太复杂,记下常用的两个就行了,如下
1.查阅自己bash的进程
ps -l //查阅自己bash的进程
如上图, 我们现在通过命令ps -l查到了关于自己bash的进程的信息,但是这些字段是什么意思呢?
2.查阅系统运行的所有进程
ps aux //查阅所有进程
上图中各个字段的意义如下:
2.top指令的用法
top指令是动态观察程序的变化,即可以持续侦测程序的运行状态。
上图中的各个字段的意义如下:
跟多的其他功能请查看:https://www.jb51.net/article/135852.htm
2.查看进程之间的关系
pstree指令是以树结构显示各个进程之间的关系
3.程序的管理
程序之间是可以相互控制的!举例来说,你可以关闭、重新启动服务器软件,服务器软件本身就是个程序,你既然可以让它关闭或启动,当然就是可以控制该程序啦!那么程序是如何相互管理的呢?其实是通过给予该程序一个讯号(signal),去告知该程序你想让它干嘛!因此这个讯号就很重要了。
1.kill指令
该指令只适合杀死某个单一的进程。
指令: kill -signal 进程号 //通过kill指令给进程传讯号
通过kill指令的格式可以发现,如果想要使用kill指令杀死一个进程,那么必须知道进程号。
2.killall指令
该指令适合杀死一个服务,因为该指令可以将系统当中所有以某个指令名称启动的所有进程全部杀死。
killall -signal 命令名 //给指定名
下面举两个实例:
1.关闭进程
先通过top查看当前有哪些进程在运行,之后通过kill指令或killall指令关闭进程。
格式:
kill -9 PID //根据PID进程号关闭进程
killall -9 command //根据command关闭进程,以及关闭该进程产生的所有子进程
其中command就是产生这个进程的指令或二进制文件。
2.启动进程
如何启动进程呢?由于计算机只认识二进制文件,因此开启进程通常都是执行二进制文件。也许你会说执行shell脚本也可以开启进程,其实shell脚本还是去通过执行二进制文件(指令)来启动进程的。
可执行文件分类:脚本文件(shell脚本)、二进制可执行文件。
注意:上述两种类型文件执行的前提是已经获得可执行权限X。
那如何执行二进制文件呢?这里就需要先了解环境变量PATH了。可行性文件的位置必须通过环境变量PATH可以找到才能执行,而PATH中都包含“当前目录(.表示当前目录)”,因此当你没有特地设置环境变量时,先跳转到想要执行的“可执行文件”所在目录作为当前目录,之后输入“./command”或者“./shell脚本”启动进程。因为PATH中包含当前目录,因此可以通过环境变量PATH找到你想要执行的“可执行文件”了。
启动进程格式:
./command //command是启动进程的可执行二进制文件,前提:当未设置环境变量时,当前目录必须为command所在目录。
./脚本文件名 //运行脚本文件,前提:当未设置环境变量时,当前目录必须为脚本文件所在目录。
脚本文件名 //直接在终端上输入脚本文件名就可以执行,前提:该脚本文件所在目录被设置到PATH环境变量中去了
实例:
1.第一格式的启动:根据command(未设置环境变量)
启动火狐浏览器,已知启动火狐浏览器的command是firefox-bin。
思路:通过find指令找到firefox-bin的具体位置,跳转到firefox-bin所在目录,执行“./firefox-bin”指令启动火狐浏览器。过程如下所示:
2.第二格式的启动:根据脚本文件名(未设置环境变量)
通过在custom_shell目录下创建自定义的shell脚本firefox.sh(要获得权限X),启动火狐浏览器。
firefox.sh脚本内容如下:
执行firefox.sh脚本指令如下:
3.第三格式的启动:根据脚本文件名(已设置环境变量)
在/etc/profile文件中对环境变量PATH添加了关于tomcat可执行文件所在的目录,并且在使用source /etc/profile指令重新加载文件/etc/profile是使修改过的PATH生效,最后直接调用脚本文件startup.sh启动tomcat。