Linux进程管理

来源:互联网 发布:ios广告屏蔽软件 编辑:程序博客网 时间:2024/05/16 15:15

Linux是一个多用户多任务的操作系统,多用户是指多个用户可以在同一时间登陆系统,多任务是指可以同时执行多个任务。

Linux中所有进程都是相互联系的。除了初始化进程外,所有进程都有一个父进程。Linux系统中所有的进程都是由一个进程号为1init进程衍生而来的。而我们在shell下执行程序启动的进程则是shell进程的子进程,当然我们启动的进程可以再启动自己的子进程,这样就形成了一棵进程树,每个进程都是树中的一个节点,其中树的根是init

 

进程的启动方式

启动一个进程有两个主要途径,手工启动调度启动

手工启动:分为前台启动和后台启动。前台启动,直接输入命令即可启动一个前台进程。对于一些耗时的进程,后台启动是一个明智的选择(后台运行直接在命令后面加&)

调度启动:有时候需要对系统进行一些比较费时且占用系统资源的维护工作,这些工作适合在深夜等非繁忙阶段进行,这时候管理员就可以事先进行调度安排,指定任务运行的时间,到时候系统会自动完成这些工作。

1 . at使用at命令在指定的时间执行相应的作业

at 23:00

>find / -name ‘/etc/passwd’ -print

><EOT>

<EOT>CTRL+D

2cron使用at安排的作业只能执行一次,如果想定期执行某些操作,可以使用cron.

 

进程的挂起及恢复

系统允许将进程挂起并可以在需要时恢复进程的运行,被挂起的进程恢复后将从中止处开始继续执行。只要在键盘上按Ctrl + Z ,即可挂起当前的作业。

使用jobs可以显示shell的作业清单,包括具体作业号,具体的作业以及作业当前所处的状态。恢复进程执行时,用fg将作业放到前台来执行,用bg将作业放到后台来执行。

 

进程管理

1. 进程查看

ps [-e] [-l] [-r] ...

-e 显示所有进程

-l 长格式

-r 只显示正在运行的进程

2. 动态查看进程

top 可以动态显示系统当前的进程,即可以通过用户按键来不断刷新当前状态。并可以根据CPU或者内存使用情况进行排序等。

top [-d delay] [c] ...

-d 每两次刷新屏幕的间隔时间

-c 显示整个命令行

3. 中断进程

kill [signal] 进程号

4. nohup命令

nohup command &

如果正在运行一个进程,并且希望在退出帐户时该进程不会结束,那么可以使用nohup命令。该命令可以在用户退出系统后继续执行相应的进程。一般我们会让这些进程在后台执行,结果会写到当前目录下的nohup.out文件,也可以使用重定向,将结果输出到另外一个文件。

5. 查看当前登陆用户情况

who 查看当前登陆的用户。

w 查看当前登陆的用户以及用户正在进行的工作。

 

 

原创粉丝点击