一、进程管理 1.进程查看 1.什么是进程 2.进程管理的作用 判断服务器健康状态 查看系统中所有进程 杀死进程 3.查看系统中所有进程 ps aux输出中各字段说明 4.top命令
一、进程管理
1.进程查看
1.什么是进程
2.进程管理的作用
- 判断服务器健康状态
- 查看系统中所有进程
- 杀死进程
3.查看系统中所有进程
ps aux输出中各字段说明
4.top命令
执行结果分析
top命令三个重要指标(平均负载、cpu空闲率、剩余内存)
5.查看进程树
2.进程终止
1.进程重启
kill -1 pid
注意:这是数字1,不是小写的l
2.强制杀死进程
kill -9 pid
3.根据进程名称杀死进程
终止apache服务:killall -9 httpd 或者 pkill -9 httpd
“killall -9”与“pkill -9”的区别在于pkill支持-t选项来踢出远程登入用户
使用命令w可以查看所有登入到本机的终端用户
二、工作管理
1.把进程放入后台执行
1.放入后台执行:&
使用这种方式,程序会在后台执行
###将/etc目录打包成etc.tar.gz,后台执行[root@myserver ~]# tar -zcf etc.tar.gz /etc &[1] 14633[root@myserver ~]# tar: Removing leading `/' from member names[1]+ Done tar -zcf etc.tar.gz /etc[root@myserver ~]# lsetc.tar.gz[root@myserver ~]#
2.使用快捷键"ctrl+z"将程序放入后台执行
使用这种方式将程序放入后台,该程序属于暂停状态
[root@myserver ~]# toptop - 00:07:55 up 69 days, 6:37, 2 users, load average: 0.00, 0.01, 0.05Tasks: 79 total, 2 running, 77 sleeping, 0 stopped, 0 zombieCpu(s): 0.3%us, 0.3%sy, 0.0%ni, 99.0%id, 0.3%wa, 0.0%hi, 0.0%si, 0.0%stMem: 1922244k total, 1764228k used, 158016k free, 200716k buffersSwap: 0k total, 0k used, 0k free, 677208k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 7 root 20 0 0 0 0 R 0.3 0.0 358:12.22 events/0 2041 root 20 0 2484m 250m 13m S 0.3 13.4 73:48.79 java 10143 root 20 0 24608 2644 2020 S 0.3 0.1 5:02.64 AliYunDunUpdate 14653 root 20 0 15020 1168 932 R 0.3 0.1 0:00.01 top 1 root 20 0 19356 1416 1120 S 0.0 0.1 0:01.65 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0 4 root 20 0 0 0 0 S 0.0 0.0 0:01.12 ksoftirqd/0 5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/0 6 root RT 0 0 0 0 S 0.0 0.0 0:07.17 watchdog/0 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 events/0 9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 events_long/0 10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 events_power_ef 11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cgroup 12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khelper 13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 netns 14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 async/mgr ###此处按下"ctrl+z"[1]+ Stopped top[root@myserver ~]# ###查看后台工作进程[root@myserver ~]# jobs -l[1]+ 14653 Stopped (signal) top[root@myserver ~]# jobs[1]+ Stopped top
2.查看后台工作进程
3.将后台暂停的工作恢复到前台执行
###将top命令恢复到前台执行[root@myserver ~]# fg 1toptop - 00:16:36 up 69 days, 6:46, 3 users, load average: 0.00, 0.01, 0.05Tasks: 82 total, 2 running, 79 sleeping, 1 stopped, 0 zombieCpu(s): 0.3%us, 0.0%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%stMem: 1922244k total, 1766516k used, 155728k free, 200716k buffersSwap: 0k total, 0k used, 0k free, 677212k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 7 root 20 0 0 0 0 R 0.3 0.0 358:14.36 events/0 648 root 20 0 1492 256 176 S 0.3 0.0 43:45.72 aliyun-service 4978 root 20 0 2423m 54m 12m S 0.3 2.9 58:41.98 java 5242 root 20 0 130m 7916 1484 S 0.3 0.4 88:50.32 redis-server 10169 root 20 0 129m 13m 8948 S 0.3 0.7 22:31.85 AliYunDun 1 root 20 0 19356 1416 1120 S 0.0 0.1 0:01.65 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root RT 0 0 0 0 S 0.0 0.0 0:00.00 migration/0 4 root 20 0 0 0 0 S 0.0 0.0 0:01.12 ksoftirqd/0 5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/0 6 root RT 0 0 0 0 S 0.0 0.0 0:07.17 watchdog/0 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 events/0 9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 events_long/0 10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 events_power_ef 11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cgroup 12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khelper 13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 netns
4.将后台停止的工作恢复到后台执行
将暂停在后台的top命令放入后台运行是不成功的,因为top命令必须要和前台 交互才有意义,除此vi,vim等等也是需要和前台有交互的
###将第一个工作放到后台运行[root@myserver ~]# bg %1[1]+ top &###查看 发现top程序依然是stopped状态[root@myserver ~]# jobs[1]+ Stopped top
###将文件编辑 放到后台执行[root@myserver ~]# vi aa~~~~###此处按下ctrl+z"aa" [New File][2]+ Stopped vi aa###将打包根目录放到后台执行[root@myserver ~]# tar -zcf root.tar.gz /tar: Removing leading `/' from member names###此处按下ctrl+z^Z[3]+ Stopped tar -zcf root.tar.gz /###查看后台运行的工作进程,同时先杀进程号[root@myserver ~]# jobs -l [1] 14671 Stopped (signal) top[2]- 14681 Stopped vi aa[3]+ 14682 Stopped tar -zcf root.tar.gz /###将最后一个后台进程(带"+"号的进程)放入后台执行,这时候显示压缩状态为Running[root@myserver ~]# bg[3]+ tar -zcf root.tar.gz / &[root@myserver ~]# jobs -l[1]- 14671 Stopped (signal) top[2]+ 14681 Stopped vi aa[3] 14682 Running tar -zcf root.tar.gz / &[root@myserver ~]# ###根目录文件较大,执行时间太长,强制终止,这时候状态变为killed[root@myserver ~]# kill -9 14682[root@myserver ~]# jobs -l[1]- 14671 Stopped (signal) top[2]+ 14681 Stopped vi aa[3] 14682 Killed tar -zcf root.tar.gz /[root@myserver ~]#