设置进程的nice值
# 设置进程的优先级
nice -n -11 bash test.sh
-n : 设置优先级
普通用户:(0~19)
超级用户:(-20~19)
# 给指定进程设置优先级
renice [设置优先级] pid
Linux常用系统信号
Signal Name | Single Value | Effect |
---|---|---|
SIGHUP | 1 | 重载 |
SIGINT | 2 | 中断信号 |
SIGKILL | 9 | 发出杀死信号 |
SIGTERM | 15 | 发出终止信号 |
SIGSTOP | 17, 19, 23 | 停止进程 |
SIGCONT | 18 | 恢复进程 |
中断信号
ctrl + c(中断)
ctrl + z(杀死)
INT(2) :
kill -[信号名称|信号ID] pid
kill -SIGINT PID
kill -INT PID
kill -2 PID
退出信号:
ctrl + d
暂停信号:将进程暂停
SIGTSTP(20)
kill -20 PID
kill -SIGTSTP PID
kill -TSTP PID
杀死进程信号
SIGKILL
kill -9 PID
kill -SIGKILL PID
kill -KILL PID
注:不能够被捕捉
终止信号
SIGTREM
kill -15 PID
kill -SIGTERM PID
kill -TERM PID
注:优雅终止进程
暂停和恢复信号
SIGCONT : 恢复
SIGSTOP :暂停
重载信号
SIGHUP(1)
关于HUP信号
如果想让我们的进程在后台一直运行,不要因为用户注销(logout)而去结束掉所有的子进程
nohup
后台启动,会在当前目录生成一个nohub.out文件,用于执行的命令的输出。
#格式
nohup [执行的命令] &
#例
nohup ping baidu.com &
setsid
原理与nohop类似,实际上是开了一个孤儿进程
#例
setsid ping baidu.com &
在shell中提交任务
(ping baidu.com &)
screen
原理分析:开了一个新的shell全屏窗口,screen程序会帮我们管理运行命令,退出screen,我们的命令依旧会运行,如果关闭掉screen所在的终端,screen程序的ppid会变成1,所以screen不会被杀死,对应着它帮我们管理的命令也不会退出。
yum install screen -y
#screen常用参数
-S 创建screen会话时为会话指定的一个名字
-d 启动一个开始就处于断开模式的会话
-r 重新连接一个断开的会话
后台管理进程
[root@aliyun ~]# sleep 1000 &
[1] 21981
[root@aliyun ~]# sleep 2000 &
[2] 21982
[root@aliyun ~]# jobs
[1]- Running sleep 1000 &
[2]+ Running sleep 2000 &
[root@aliyun ~]# fg %1
sleep 1000
#jobs查看后台运行的程序
#fg %1 将1编号的程序拉取到前端运行