Linux 系统管理 - 进程控制

一、进程查看命令

ps:进程状态
pstree:进程树状结构
top:看进程状态

1、 ps命令
ps -eLf | more   L:展示线程数

2、pstree:查看进程树

3 top 命令

 

up xx分钟:总运行小时数

load average: 0.1(1分钟采样) 0.5(5分钟采样) 0.6(15分钟)   => 1:满负载  0.5半负载

%cpu(s): us(用户%比) sy(系统进程状态交互%比) ,id(空闲状态%比)wa (io等待) 

Kib Swap(交换分区/虚拟内存)

 

技巧: 按s键 ,将默认3s刷新可改为1s刷新

 

按数字1,支持展示多个cpu运行情况查看

 

top -p 18746  #查看具体进程信息

 

二、进程优先级调整

2.1 优先级调整

nice -n 10 ./a.sh
top -p 10 #对应PID的NI选型为10
renice -n 15 15132 #对已进行的进程的调整优先级

2.2 作业控制

./1.sh &    #后台进程启动 &
jobs  #查看后台进程
fg 编号 # 代表jobs的任务号,将任务调到前台
ctrl+z 调整到后台并是停止状态
top命令查看 S:T T:代表stop状态 top -p 18746
bg 编号:在后台重新启动任务

三、进程间通信

kill -l   1) SIGHUP:ctrl+c 9)SIGKILL:kill -9
ctrl+c 强制终止
kill -9 pid

四、守护进程

1、nohup
tail -f /var/log/messages
ps -ef | grep tail #获取进程pid
nohup tail -f /var/log/messages & # nohup和&一起使用,即使关闭终端,程序也不关闭

hup进程查看
cd /proc/27451 #进入进程
ls -l exe #查看进程命令
ls -l fd #查看输出
# 0-> /dev/null 标准输入
# 1 -> /root/nohup.out 标准输出
# 2 -> /root/nohup.out 标准输出

daemon进程查看
ps -ef | grep sshd
cd /proc/4525
ls -l exe
ls -l fd
# 0-> /dev/null 标准输入
# 1 -> socket:[32281] 标准输出
# 2 -> socket:[32281] 标准输出

五  screen命令

相当于开启一个screen会话进程,内部可执行自己命令
screen #进入screen环境
ctrl+a d #推出screen环境
screen -ls #查看screen会话
screen -r sessionid #恢复会话

六   系统日志

/var/log/messages: 系统常规日志
/var/log/secure:系统安全日志
/var/log/cron:周期性任务日志
/var/log/dmesg :查看启动日志

tail -f cron -- 查看定时任务
tail -f messages -- 查看信息
tail -f dmesg --查看启动日志
tail -f secure -- 查看安全日志

七  服务管理工具sytemctrl

service *** start|stop|restart|status
systemctl start|stop|restart|status|enable|disable xxx
enable:开机自动运行
supervisor #可以在进程意外结束时自动拉起进程

 

service的启动脚本

cd /etc/init.d #所有service启动脚本放在该目录

#所有脚本自己实现start,stop,restart,status等命令
#vim network  

systemctl启动脚本
cd /usr/lib/systemd/system/ #所有systemctl启动脚本放在该目录
#vim sshd.service  #简单多了

[Unit] #启动顺序
Description=OpenSSH server daemon
After=network.target sshd-keygen.service
Wants=sshd-keygen.service

[Service]
EnvironmentFile=/etc/sysconfig/sshd #配置文件
ExecStart=/usr/sbin/sshd -D $OPTIONS #启动
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure #重启
RestartSec=42s

[Install]
WantedBy=multi-user.target

posted @ 2022-04-30 18:29  mick0802  阅读(52)  评论(0编辑  收藏  举报