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 命令强行杀死该进程:对于一个后台运行的进程 ,如果用户觉得该进程应该被强行结束
比如: