日期:2014-05-16 浏览次数:20787 次
在linux每执行一个二进制文件都会产生一个进程并生成一个进程PID。进程除了自身的ID外,还有父进程ID(ppid),所有进程的祖先进程是同一个进程,它叫做init进程,PID为1。
当用户从一个终端登陆时,便获得一个此次执行的bash进程的PID。用户执行的每一条指令都是这个PID的子进程。
linux通过fork-and-exec的流程来产生子进程:首先会通过父进程以复制 (fork) 的方式产生一个一模一样的子进程, 然后被复制出来的子进程再以 exec 的方式来运行实际要进行的程序,最终就成为一个子进程的存在。僵尸进程:当该程序应该已经运行完毕,或者是因故应该要终止了,但是该程序的父程序却无法完整的将该程序结束掉,而造成那个程序一直存在内存当中,形成僵尸进程。
[zsp@sky]~$ vim a [1]+ 已停止 vim a [zsp@sky]~$ vim b [2]+ 已停止 vim b [zsp@sky]~$ jobs [1]- 已停止 vim a [2]+ 已停止 vim b那个+代表最近一个被暂停到后台的工作,且当执行fg命令时在后台下默认会被取用的那个工作。-代表最近最后第二个被暂停到后台中的工作号码
%可以指定处理哪一个后台任务
[zsp@sky]~$ fg vim b [2]+ 已停止 vim b [zsp@sky]~$ jobs [1]- 已停止 vim a [2]+ 已停止 vim b [zsp@sky]~$ fg %1 vim a [1]+ 已停止 vim a [zsp@sky]~$ jobs [1]+ 已停止 vim a [2]- 已停止 vim b
输出格式规划:
l :较长、较详细的将该 PID 的的资讯列出;常用:
ps aux 列出系统所有的程序数据[zsp@sky]~$ ps -l F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 0 S 1000 1955 1948 0 80 0 - 6086 wait pts/0 00:00:00 bash 0 R 1000 2917 1955 0 80 0 - 2530 - pts/0 00:00:00 ps从左到右各个字段意思