代码改变世界

Linux进程管理

2013-09-08 15:48  hduhans  阅读(207)  评论(0)    收藏  举报

 

1、后台进程。

   在Shell提示处键入命令,最后跟随一个&,则Shell会创建子进程异步运行此命令,不等命令输出,直接回到原操作界面。后台进程必须是非交互式的,否则没有意义。例:find / -name init > /test/find_result.txt &   --将根目录下查找文件名为init的查找结果保存至文本/test/find_result.txt

2、进程状态。

   1) 就绪状态:进程已经分配到资源,但CPU时间片轮状未轮到自己,进程处于等待分配CPU的状态;

   2) 等待状态:进程等待某种事件暂时不能运行的状态;

   3) 运行状态:进程正在CPU处理的状态;

3、查看用户信息,w命令:

   语法:1) w    --显示系统所有用户信息

      2) w  [用户名]    --查看个别用户信息

   说明:1) JCPU  以终端代号来区分,显示值代表该终端所有相关的进程执行所小号的CPU时间

      2) PCPU  显示值代表CPU执行(WHAT操作)程序耗费的时间

      3) WHAT  显示用户正在执行的操作

      4) load average  分别显示系统在过去1、5、15分钟内的平均负载程度(小于0.8说明系统负载较轻,负载值达到几十甚至几百说明系统负载很重)。

      5) FROM  显示用户从何处登录系统,":0"代表该用户从X Window下打开文本模式窗口登录的

      6) IDLE  显示用户闲置的时间,一旦用户执行任何操作,该计时器便会重置

4、查看进程信息,ps命令:

   语法:ps [选项]

   选项:1) -a  显示所有用户的进程

      2) -u  显示用户名和启动时间

      3) -x  显示没有控制终端的进程

      4) -e  显示所有进程,包括没有控制终端的进程

      5) -l   长格式显示

      6) -w  宽行显示,可以使用多个w进行加宽显示

   范例:1) ps   --查看隶属于自己的金吃呢个

      2) ps -u 或 ps -l    --查看隶属于自己进程的详细信息

       字段说明:a、PID 进程号;b、PPID 父进程进程号;c、TTY  进程启动的的终端;d、STAT  进程当前状态(S休眠状态、D不可中断的休眠状态、R运行状态、Z僵死状态、T停止状态);e、NI  进程优先级;f、TIME  进程启动以来占用CPU的总时间;g、COMMAND/CMD  进程的命令名;h、%CPU  占用CPU和总时间的百分比;i、%MEM  占用内存与系统内存总量的百分比

      3) ps -le 或 ps -aux   --查看所有用户执行的进程的详细信息

      4) ps -aux --sort pid   --可按进程执行时间、PID、UID等排序

      5) ps -uU hduhans   --查看用户hduhans执行的进程

      6) ps -le | grep httpd   --查看指定进程信息

      7) pstree  --查看进程树

5、结束进程,kill命令:

   语法:1) kill 进程号  --正常关闭进程

      2) kill -9 进程号   --强行关闭进程

      3) kill -1 进程号   --重新启动进程

      4) xkill   --关闭图形程序

      5) killall   --结束所有进程,如killall httpd

      6) pgrep 服务名称   --查找服务进程号

      7) pkill 进程名称   --根据进程名称关闭进程

6、进程优先级,nice命令和renice命令:

   语法:1) nice -n command   --指定程序运行的优先级,注:优先级n取值范围-20~19,值越小表示优先级越大

      2) renice n pid   --改变正在运行进程的优先级

   范例:1) nice --5 /etc/rc.d/init.d/httpd start   --将apache程序启动并将优先级设置为-5

      2) nice -5  777   --改变PID为777的进程优先级为-5

注:nice和renice参数不同,分别为-n和n

7、用户退出登录继续执行进程,nohup命令:

   语法:nohup program &

   范例:nohup find / -name init* > /test/find.init.20130908 &    --查找根目录中文件名包含init的所有文件并将结果保存至文件,该子进程在用户退出后可继续执行

8、进程的挂起和终止。

   语法:1) 挂起 (Ctrl+Z)

        2) 终止 (Ctrl+C)

        3) jobs   --查看被挂起的进程

        4) fg 挂起编号   --将进程恢复到前台继续运行

      5) bg 挂起编号   --将进程恢复到后台继续运行

9、(高级)进程状态显示和进程控制,top命令:

   语法:top

   选项:1) d   --指定刷新的时间间隔,默认5秒刷新一次

      2) c   --显示整个命令行(命令路径),不仅仅显示命令名

      3) u   --查看指定用户的进程

      4) k   --终止执行中的进程

      5) r   --重新设置进程优先级

      6) s   --改变刷新的时间间隔

      7) W  --将当前设置写入~/.toprc文件中

      8) h 或 ?   --获得帮助信息