Linux:等待进程的艰辛(linux进程wait)
Linux:等待进程的艰辛
Linux是一种开放源代码的操作系统,被广泛的应用于服务器、数据中心和Internet,已然成为当今网络服务器的首选技术。在使用Linux操作系统时,需要管理一系列进程,这是一项艰辛的任务,需要有能力的系统管理员才能够完成。
幸运的是,Linux系统提供了许多有用的工具,可以帮助管理员管理进程,节约时间和精力。首先,最让人熟悉的是top命令,它可以实时显示系统中正在运行的进程,从而更好地了解系统运行状态:
$ top
top - 09:36:30 up 4 days, 7:15, 1 user, load average: 0.00, 0.01, 0.05Tasks: 200 total, 1 running, 199 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.9%us, 0.5%sy, 0.6%ni, 98.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1625680k total, 1608368k used, 173244k free, 1280416k buffers
Swap: 1917160k total, 173276k used, 1743884k free, 262800k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 137m 12m 8608 S 0.0 0.8 0:00.16 init
34 nobody 20 0 55940 7288 1716 S 0.0 0.5 0:00.17 sshd 230 root 20 0 245m 28m 4020 S 0.0 1.8 0:00.99 httpd
1013 nobody 20 0 36156 2096 364 S 0.0 0.2 0:00.07 msgsend
上面的界面显示了系统中正在运行的五个进程:init,sshd,httpd,msgsend。top命令也能查看活动和终止进程,只需要按一下“d”键,管理员就能够接收到询问提示,输入要杀死的进程号并输入“Y”来立即杀死该进程。
此外,运行Linux操作系统时,会遇到“待机”进程,这些进程往往占用系统资源,拖累系统性能,为此,需要使用ps命令来查看这些“待机”进程:
$ ps -e -o pcpu,stat,name
%CPU STAT NAME 0.0 Ss init
0.0 Ss kthreadd 0.0 Ss ksoftirqd/0
0.0 S kworker/0:0 0.0 Ss perf
从上面的信息中可以看出有5个进程正处于“sleep”状态,可以使用kill或killall命令来终止这些进程,清除资源,提升系统性能。
最后,使用Linux操作系统的时候,管理活动和待机的进程还可以通过crontab命令来实现,它会在指定的时间执行指定的任务,比如每天定时抓取网页归档:
$ crontab -e
0 0 * * * /bin/bash /home/michael/scripts/archive_cron.sh
总之,Linux提供的工具一定程度上可以提高管理进程的效率,让管理员有更多时间去完成其他工作,提高系统性能。然而,管理进程还是一件艰辛的事情,需要有能力的系统管理员去完成才可以。