1、 查看进程状态
1 查看个别用户的进程:
w+用户名 如:w root
2 查看所有进程:
ps –aux (-a 显示所有用户 –u 显示用户名和启动时间 –x显示没有控制终端的进程)
ps –aux -- sort pid(按pid排序)管道:ps –aux|grep xclock(查看包含xclock字符的进程)
3 查看所有进程:
ps –el (-e 显示所有进程,包括没有控制终端的进程 –l 是以常格式显示) PID:进程号 PPID:父进程的进程号 TTY:进程启动的终端 ?代表没有启动终端
STAT:进程的状态(s代表休眠 D不可终端的休眠 R正在运行Z僵死T停止)
NI:进程优先级 TIME:执行的总时间 CMD/COMMAND:进程名
2、 杀死进程
1 kill 进程号
2 kill –s 信号 进程号(kill –l 得到所有信号)
3 killall httpd(杀死所有httpd进程)
4 xkill (鼠标点哪个杀哪个)
3、改变进程优先级(-20,19)
1 nice –n 命令 & (以n级开启命令)
2 renice n pid (改变进程id为n级)
4、进程状态显示
1 top (默认是5秒刷新一次)
2 top –d 3 (每3秒刷新一次)
3 top –c 显示整个命令行而不仅是显示命令名
4 top –q 立刻更新信息
5 top:u(查看用户状态)k (终止某个进程)h或?(帮助)r(设置优先级) s(改变时时刷新的间隔)
5、进程的挂起与恢复:
1 xclock &(&后台运行xclock命令-挂起)
2 ctrl+z 或 bg 4(切换到后台--挂起)ctrl+c(终止进程)
3 jobs (查看后台运行的进程)
4 fg 1 (把进程1拿到前台)
6、一次性安排进程任务:
1 开启atd (service atd start)
2 at 时间 (在某个时间执行程序,要使用全路径)如:
at 10:56
>/bin/cp –r(包括目录) /root/* /home/xsphp/ (将root下的所有文件拷贝到xsphp下)
>/bin/echo “111111111” > /root/one.txt (输入字符到one.txt)
ctrl+D(结束)
3 查看:at –l 或atq
4 删除:at –d 或 atrm
5 例子:(指定在今天下午5:30执行某个程序---假定,现在12:30,2009/9/16)
at 5:30pm
at 17:30
at 17:30 today
at now + 5 hours
at now + 300 minutes
at 17:30 16.9.2009
at 17:30 9/16/2009
6 vi a.txt
1 /bin/echo “WWWWWWW”>a.txt
:wq!
at –f one.txt 11:10 (11:10执行文件one.txt)
at <one.txt 11:10(11:10导入文件one.txt)
7 限制用户(默认允许所有用户):
/etc/at.allow (允许哪些用户)
/etc/at.deny(如果at.allow不存在,执行它,拒绝哪些用户)
格式如下:
1 xsphp
2 redhat
3 demo
7、周期性安排进程任务:crond
1 启动:service crond start(/sbin/service crond start)
停止:service crond stop(/sbin/service crond stop)
crond 进程搜索crontab 文件并载入内存
crontab 即:/var/spool/cron/目录下以用户名命名的文件
2 编辑crontab文件,保存后,自动安装
crontab –e (编辑)
*/1 * * * * /bin/echo “111111”>>/root/one.txt (每分钟追加“111111”到one.txt)
crontab –l(查看)
crontab –r(删除当前的crontab)
3 设定时间
* * * * * /bin/echo “111111”>>/root/one.txt
*1:每小时中的哪分钟执行[0---59]
*2:每天中的哪个小时[0---23]
*3:每个月中的哪天[1-31]
*4:每年中的哪个月[1-12]
*5:每周中的哪天[0-6](0是周日)
6:命令(全路径)
如:5,10 3,5,8 * * wen /bin/echo “111111”>>/root/one.txt (每周三的3,5,8点的5,10分执行)
5-8 (5到8)
*/5 (每5 分|小时|....)