linux控制台启动程序后,关掉控制台不让程序停止

linux控制台启动程序后,关掉控制台不让程序停止,第1张

在Linux中,如果要让进程在后台运行,一般情况下,我们在命令后面加上&即可,实际上,这样是将命令放入到一个作业队列中了:

$ ./test.sh &

[1] 17208

用trap命令,正常退出调用的应该是SIGHUP(1),非正常退出根据情况不同调用SIGINT(2), SIGQUIT(3),SIGTERM(15)。一般情况的退出基本上1 2 3 15都能包括了。

例:

##################################

#!/bin/sh

trap`echo get_messages` 1 2 3 15

##################################

其中用``包含的部分写你要执行的脚本或者命令。

后面的1 2 3 15是捕捉的SIGNAL的号码

★上面例子的意思是:当所执行的process接收到SIGHUP(1),SIGINT(2), SIGQUIT(3), SIGTERM(15)信号的时候,输出get_messages然后终止程序。

※如果你要执行复杂脚本或者命令的话,建议你把他写成函数

比如:

#################################

#!/bin/sh

trap `echo_many_messages` 1 2 3 15

echo_many_messages(){

echo a

echo b

echo c

}

##################################


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8913461.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-22
下一篇 2023-04-22

发表评论

登录后才能评论

评论列表(0条)

保存