015 Linux中常用的信号、HUP信号

设置进程的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编号的程序拉取到前端运行

posted @ 2021-03-24 15:23  BaiM0  阅读(988)  评论(0编辑  收藏  举报