程序与进程
1.程序与进程
程序(program):通常为二进制程序,放置在存储媒介中,以物理文件的形式存在;
进程(process):程序被触发后,执行者的权限与属性、程序的程序代码与所需数据等都会被加载到内存中,操作系统会给予这个内存内的单元一个标识符(PID),也可以说,进程就是运行中的程序;
2.子进程与父进程
ppid:parent pid
子进程的生成方式:fork and exec
系统先以fork的方式复制一个与父进程相同的暂时进程,这个进程与父进程的唯一区别的PID不同,但是这个暂时进程会有一个ppid,且这个ppid与父进程的pid相同。其实这个ppid就是父进程的标识符,然后这个暂时进程开始以exec的方式加载实际要执行的程序。
服务:常驻的进程被称为服务。
3.前台和后台
客户端层面:
前台 :当前运行的界面,例如CRT界面。
后台 :"&" 这个符号表示别放到后台执行,执行完成后会返回一个提示。(Ctrl+c暂停不了,断开客户端进程停止)
"Ctrl+z":是暂停运行的意思,可以通过"jobs"查看。可以通过bg/fg来继续运行之前暂停的命令。
bg %jobnumber (jobnumber可以通过"jobs"查看)
fg %jobnumber (jobnumber可以通过"jobs"查看)
操作系统层面:
前台 :就是操作系统的前面进程
nohup [命令参数] 前台运行
后台 :也可以说的客户端层面的脱机运行,是在客户端断开后仍然可以运行的程序
nohup [命令参数] & 在终端机器的后台工作
4.kill:
-1:重新读取此文件一次,类似reload
-9:强制的意思
-15:以正常的方式结束一个程序
5.进程查询:(ps、top)
ps是静态的进程
ps aux :查看操作系统所有的进程数据
ps -l :目前属于你这次登陆的pid相关的信息列出来。
top是动态的进程
top -d 2 ******top -d 后面跟的是时间(秒)