linux 进程管理¶
ps(process status)¶
进程状态
man ps # 展示所有帮助
ps -ef # 显示所有进程,所有格式
# 常用的几个命令
ps -fu john|less # 找用户名为john启动的进程
ps U $USER # 使用环境变量,效果同上
ps aux --sort pmem|less # 根据内存占用排序
ps aux --sort pcpu|less # 根据CPU占用排序
ps -f --ppid=2962 # 列出父pid是2962的进程
grep¶
查询
man grep # 展示帮助
grep -i # ignore忽略大小写
grep -v # invert反转,过滤
top¶
动态显示系统状态
man top
# 主要按键
P ==> 根据CPU使用百分比进行排序
M ==> 根据内存进行排序
i ==> 使top不显示任何闲置或者僵死命令
终止进程¶
man kill
kill -9 -1 # 杀掉所有能杀掉的进程
kill -9 1024 # 杀掉pid为1024的进程
kill -TERM pid # -15等同于-TERM,生产环境下
linux signal信号¶
- 信号9是终止进程
- 信号15是终止terminal
link: https://linux.die.net/Bash-Beginners-Guide/sect_12_01.html
pgrep/pkill¶
man grep
pgrep xpad | xargs kill -9 # 搜索xpad并杀掉
pkill xpad # 搜索xpad并杀掉
fg/bg¶
sleep 600 & # 睡眠600s
[1] 9717
fg # 将后台程序放到前台
[1] + 9717 running sleep 600
^Z # “ctrl + z” 冻结
[1] + 9717 suspended sleep 600
bg # 转至后台
[1] + 9717 continued sleep 600
sleep 600 &
[1] 10034
sleep 500 &
[2] 10043
sleep 400 &
[3] 10053
jobs # 显示后台程序
[1] running sleep 600
[2] - running sleep 500
[3] + running sleep 400
fg %3 # 将3号后台程序放到前台
[3] - 10053 running sleep 400
watch¶
重复检测程序变化
man watch
watch -d # 高亮显示不同
watch -n 1 # 1s 检测一次,默认为2s检测一次
watch -d ls -l # 检测当前文件夹内文件情况“ls -l”
crontab(定时任务)¶
定时任务用于备份文件十分有用
crontab # 会引导选择使用哪种编辑器
man crontab # 展示帮助
crontab -e # 编辑自动任务文件,关闭后,任务自动启动
crontab -l # 查看当前自动任务
# 任务格式就是“时间”+“命令”
# 时间表示“分(0-59)”+“时(0-23)”+“天(1-31)”+“月(1-12)”+“周(0-7)”
# 中间以空格隔开,0和7都表示周末
# *号表示所有时间
# 分隔符“/”可以表示每个多长时间
# 每周一早上5点执行下面备份任务
0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
# 每5分钟执行一次
*/5 * * * * tar -zcf /var/backups/home.tgz /home/
# 系统默认的定时任务位于/etc/crontab
link: https://linux.cn/article-7513-1.html