Linux进程管理
1.ps
(1)最常使用的是ps -le或者ps -aux ,配合上grep查看某个进程的状态,比如ps -aux | grep pts
(2)ps -u 可以查看隶属于自己的进程的详细信息
(3)ps -uU username 可以查看指定用户的进程
其中,PID是进程号,PPID是其父进程的进程号,TTY是进程启动的终端,STAT是进程当前状态:
S:休眠状态
D:不可中断的休眠状态
R:运行状态
Z:僵死状态
T:停止状态
NI:进程优先级(优先级最高是-20,如果你设置的优先级是-500之类的,都会变成-20,最低是19)
nice -n command 指定一个程序的优先级,如nice --5 myprogram
renice -n pid 指定一个进程的优先级,如renice -5 3232
2.kill
(1)关闭进程:kill 进程号
(2) 强行关闭:kill -9 进程号
(3)重启进程: kill -1 进程号
(4)查看kill命令的各个信号数字:kill -l 可以列出来
(5)结束所有进程:killall
(6)按进程名称杀死进程:pkill
3. CTRL + Z是挂起进程,就是暂停这个进程。
jobs可以查看被挂起的进程(包括后台执行,暂停的进程)。
以下转自:http://blog.csdn.net/shinezhang86/article/details/48491755
[1]+ /root/bin/rsync.sh &
[1]+ Running /root/bin/rsync.sh &
4 计划任务:
at: 安排作业在某一时刻执行
batch: 安排作业在系统负载不重的时候执行一次
cron: 安排周期性运行一次的作业
at:
at -d id 删除指定id的计划任务
at -l 查看队列中的任务
at 命令指定时间的方式:
绝对时间:hh:mm MM/DD/YY at 10:23 03/21/2018
相对时间: at now +n minutes/hours/days 如 at now +5 minutes,at 5pm +3 days 三天后的五点执行
当at执行完,会显示今天有几个计划任务,对应的第几个就是计划任务的id,直接用at -d id 就可以删除还未执行的计划任务。
batch 使用方法和at一模一样,只是在执行之前会检测一下系统负载,如果在0.8以下就可以执行,否则不执行
crontab 是周期执行任务,注意:command必须用绝对路径!
crontab -e
分钟 小时 天 月 星期 命令/脚本
* * * * * command 任意时刻都发生
*/2 * * * * command 每个小时的2分都执行一次
* 11 1-3 2,5 * command 2月和5月的1到3号的每天11十一点执行一次
注意:星期用0-6表示。