感谢支持
我们一直在努力

Linux入门教程:Linux进程

进程的概念

q  概念:一个进程是一个程序的一次执行的过程。

q  操作系统通过进程来控制对CPU和其他系统资源的访问,并且使用进程来决定在CPU上运行哪个程序、运行多久。

q   Linux系统的一个重要特点:可以同时启动多个进程。

q  进程和程序不同:

?    程序是静态的,是保存在磁盘上的可执行代码和数据的集合;

?    进程是动态的,是Linux系统的基本调度单位。

q  父进程和子进程

?    一个进程创建新进程称为创建了子进程(child process)

?    创建子进程的进程称为父进程。

q  进程号

?    PIDProcess Identity number。一个PID唯一地标识一个进程。

?    PPIDParent Process ID。进程的父进程号。

q  Init进程

?    内核启动后的第一个进程,其PID=1

?    扮演终结父进程的角色,所有进程追溯其祖先最终都会落到init进程身上。

q  因为init进程永远不会被终止,所以系统总是可以确信它的存在,并在必要的时候以它为参照。如果某个进程在它衍生出来的全部子进程结束之前被终止,此时那些失去了父进程的子进程就都会以init作为它们的父进程。

查看命令

ps [-options]

 

列出当前进程清单,不跟任何选项表示查看系统中属于自己的进程

显示的进程列表是一个静态列表

ef察看当前系统中运行的所有进程

aux显示系统中所有用户进程及其所有者,并显示详细的进程信息

 

top [-] [d delay] [q] [C] [c] [S] [s] [i] [n]

 

列出进程清单

显示的是可根据真实情况 , 定时更新的运行进程列表

d delay:指定更新的时间间隔(delay),以秒计算。
n
      指定更新的次数,到达指定次数后将会退出top

q  交互命令

[Space]立即刷新显示。

d    设置刷新进程的时间间隔,你会被提示输入一个数(秒)

q    退出top命令。

k    杀死某进程。你会被提示输入进程 ID 以及要发送给它的进程号。     

h     显示帮助屏幕

n     显示的进程数量。你会被提示输入数量。

u    按用户排序。

M    按内存用量排序。

P    CPU 用量排序。

jobs [-options]

用于显示和控制后台正在执行的和被挂起的任务序列

-l:显示后台任务的进程号与讯息。

-p:只显示后台任务的 PID

-n:显示上次通知用户后,执行状态有更动的后台任务状态。

-r:显示执行中的后台任务。

-s:显示暂停执行的后台任务。

进程的启动方式


q  执行一个程序à启动了一个进程


q  启动进程的两个主要途径:


?    手工启动:


                                 当时设置当时启动;


?    调度启动:


用户可事先进行设置安排,指定任务运行的时间或场合,到时候由系统自动启动进程完成此项任务。


手工启动的两种方式


q  前台启动


?    启动一个进程后,如果不中断或挂起该进程,用户会一直被禁止与 Shell 进行交互,直至该进程执行结束。


?    并非单进程状态。


?    经常用于一般Linux命令的执行,和一些不太耗时的进程的启动。   


q  后台启动


?    启动进程后,用户仍可以与Shell进行交互。


?    可用于一些耗时长的作业运行。


前台进程和前台启动


q  由前台启动的进程为前台进程


q  前台进程在执行过程中与屏幕键盘等终端进行交互,对终端有完全的控制权,直到该进程被终止或者中断


q  前台启动举例:


                            $cat file1


q  前台进程的停止:


                          <Ctrl+c>


q  前台进程的挂起:


                          <Ctrl+z>


后台进程和后台启动


q  由后台启动的进程称为后台进程


q  后台进程在执行过程中不与终端进行通信,若要察看他的执行状况必须通过相关的进程管理命令


q  对于耗时长的进程,不应该让它在前台执行,而应该交给后台执行。


q  后台进程的启动方法:


  $command &


q  终止和挂起后台进程:


   使用kill命令


 


 


 


kill [-option] [signal]  {PID  | %job ID}


s 指定需要送出的信号,既可以是信号名也可以是对应数字


signal – 信号。与s配合使用。不指定则送出信号  15(TERM)。


pid – 要终止的进程号。


     job ID – 要终止的进程对应的后台任务编号



n  信号15TERM


?  终止进程运行


?   kill命令的缺省信号


?  经常用于后台进程的终止。


?  当某个进程占用的CPU时间过多,或是某进程已经挂死,可以用这种方法终止其执行。


?   root用户外,一般用户只能终止属于自己的进程。


n  信号09


?   强制终止进程


          注意:kill –l查询kill可以送出的信号列表


               


                 01             挂起


                 02             中断


                 09             强制终止一个进程


                 15             (缺省)正常终止一个进程


 



进程的挂起和恢复


q  进程挂起


?      前台进程的挂起:


                                 <Ctrl+z>


?     后台进程的挂起:


                                 kill –s 01 {PID|%job ID}


q  进程恢复


?     恢复到前台:


                                fg %jobID


?    恢复到后台:


                               bg %jobID


 


使用nohup命令运行后台进程


q  用户退出系统时,一般来说会结束该用户的所有正在运行的程序


q  如果某些后台程序没有执行完,怎么办?


q  nohup命令使进程在用户退出后仍能继续执行


q  格式:


    nohup {command|script}  &


    command命令


    script程序或脚本


{a|b}ab中必选一项


q  nohup.out文件:


?    存放运行后的所有错误和输出信息。


?    处于用户主目录下。


?  test用户:/home/test/nohup.out

赞(0) 打赏
转载请注明出处:服务器评测 » Linux入门教程:Linux进程
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏