进程管理、PS命令、nohup命令

1、 Windows 下,扩展名为exe的文件,鼠标双击,运行,把这个程序正在运行的实例,称之为进程

Windows进程的信息可以通过 任务管理器看到

查看到:正在运行的计算器程序 Calculator.exe 的进程PID就是 3164

 2、Linux系统中,进程也有PID

在Linux中,你正在运行的交互式命令行程序 Shell, 它就是一个进程

ps 查看进程信息的命令

 当前bash shell的 进程 PID 为1548

3、进程的创建与查看  ps -f

父进程:Linux中,一个进程A里面可以创建出一个新的进程B,进程A就叫做进程B的 父进程

子进程:进程B叫做进程A的子进程

最典型的例子:我们在shell中运行的程序(命令),都是shell进程创建的

所以shell进程就是他们的父进程

 

 PPID这一列就是该进程的父进程的PID

ps 命令对应的进程的父进程PID为1548,正是bash进程的PID

4、ps命令:

ps 显示和当前终端有关的进程信息:

ps -u byhy 显示byhy用户所创建的进程信息:

ps -f 详细显示每个进程信息:

ps -e 显示所有正在运行的进程信息:

ps -ef 显示当前系统所有的进程:

ps –ef|grep python 查找pthon进程:

ps –ef|grep python 查找switch进程:

 

 5、进程的前台、后台转换

Linux终端通过Shell程序来接收用户输入的命令,并且执行命令。

前台:用户敲入什么命令,shell就会启动对应的程序

前台进程:a、我们在Shell里正在执行的,和用户进行人机交互的进程,

     b、可以接收键盘输入并将结果显示在显示器上

比如1:和用户进行人机交互

 

 

 发现: python 程序变成了前台进程,接收用户的输入

比如2:不需要和用户进行交互

 

运行期间,如果在前台执行,我们只能等待它结束,不然我们没法执行下个程序

但是:既然不需要用户输入信息,在前台执行,没有太大意义,我们应该让它在后台执行

后台执行:

 后台程序继续运行,前台还可以做别的事情

6、nohup命令:

我们可以执行命令的时候,使用 & 结尾使进程在后台运行

但是:如果终端关闭,那么程序也会被关闭,为了避免这种情况,那么我们就可以使用 nohup 命令

比如:有个test.sh 需要在后台运行,即使关闭了终端,也不退出,能够一直运行

 

 此时run.py文件已被执行成功!

7、进程的终止方式:2种

自行终止:有的进程执行完一段任务后,就自行退出了,比如上面的ps命令,它执行完查看进程信息的任务后,就会结束

有的不是自动退出,而是用户操作它,让它退出,比如 我们在Shell进程中运行exit命令后,该Shell进程就会退出。

也有的是异常退出,比如程序有个bug(比如代码里面有除以0的指令),该程序无法执行下去,也会终止。

被强行杀死:

Ctrl + C :对于一个前台进程,要结束它

 kill -9 命令强行杀死该进程:对于一个后台运行的进程 ,如果用户觉得该进程应该被强行结束

比如:

 

posted @ 2020-09-08 00:13  追梦人娟儿  阅读(611)  评论(0编辑  收藏  举报