如何让进程在Linux后台运行
所属分类:
网络安全 / 黑客教程
阅读数:
105
收藏 0赞 0分享
在Linux中,如果要让进程在后台运行,一般情况下,我们在命令后面加上&即可,实际上,这样是将命令放入到一个作业队列中了:
$ ./test.sh &
[1] 17208
$ jobs -l
[1] 17208 Running ./test.sh &
对于已经在前台执行的命令,也可以重新放到后台执行,首先按ctrl z暂停已经运行的进程,然后使用bg命令将停止的作业放到后台运行:
$ ./test.sh
[1] Stopped ./test.sh
$ bg %1
[1] ./test.sh &
$ jobs -l
[1] 22794 Running ./test.sh &
但是如上方到后台执行的进程,其父进程还是当前终端shell的进程,而一旦父进程退出,则会发送hangup信号给所有子进程,子进程收到hangup以后也会退出。如果我们要在退出shell的时候继续运行进程,则需要使用nohup忽略hangup信号,或者setsid将将父进程设为init进程(进程号为1)
$ echo $$
21734
$ nohup ./test.sh &
[1] 29016
$ ps -ef | grep test
515 29710 21734 0 11:47 pts/12 00:00:00 /bin/sh ./test.sh
515 29713 21734 0 11:47 pts/12 00:00:00 grep test
$ setsid ./test.sh &
[1] 409
$ ps -ef | grep test
515 410 1 0 11:49 ? 00:00:00 /bin/sh ./test.sh
515 413 21734 0 11:49 pts/12 00:00:00 grep test
上面的试验演示了使用nohup/setsid加上&使进程在后台运行,同时不受当前shell退出的影响。那么对于已经在后台运行的进程,该怎么办呢?可以使用disown命令:
$ ./test.sh &
[1] 2539
$ jobs -l
[1] 2539 Running ./test.sh &
$ disown -h %1
$ ps -ef | grep test
515 410 1 0 11:49 ? 00:00:00 /bin/sh ./test.sh
515 2542 21734 0 11:52 pts/12 00:00:00 grep test
另外还有一种方法,即使将进程在一个subshell中执行,其实这和setsid异曲同工。方法很简单,将命令用括号() 括起来即可:
$ (./test.sh &)
$ ps -ef | grep test
515 410 1 0 11:49 ? 00:00:00 /bin/sh ./test.sh
515 12483 21734 0 11:59 pts/12 00:00:00 grep test
注:本文试验环境为Red Hat Enterprise Linux AS release 4 (Nahant Update 5),shell为/bin/bash,不同的OS和shell可能命令有些不一样。例如AIX的ksh,没有disown,但是可以使用nohup -p PID来获得disown同样的效果。
还有一种更加强大的方式是使用screen,首先创建一个断开模式的虚拟终端,然后用-r选项重新连接这个虚拟终端,在其中执行的任何命令,都能达到nohup的效果,这在有多个命令需要在后台连续执行的时候比较方便:
$ screen -dmS screen_test
$ screen -list
There is a screen on:
27963.screen_test (Detached)
1 Socket in /tmp/uscreens/S-jiangfeng.
$ screen -r screen_test
Android平台的SQL注入漏洞浅析(一条短信控制你的手机)
14年11月笔者在百度xteam博客中看到其公开了此前报告给Google的CVE-2014-8507漏洞细节——系统代码在处理经由短信承载的WAP推送内容时产生的经典SQL注入漏洞,影响Android 5.0以下的系统
收藏 0赞 0分享
浅析XSS与XSSI异同
这篇文章主要介绍了XSS与XSSI异同,跨站脚本(XSS)和跨站脚本包含(XSSI)之间的区别是什么?防御方法有什么不同?感兴趣的小伙伴们可以参考一下
收藏 0赞 0分享
没有苹果官方支持 是否可以重置MAC系统固件密码
不开源就意味着更干净更安全,现在连苹果都要准备部分开源给第三方软件了,是不是意味着苹果的安全也不如想象中的那么强大了?这个猜测并没有证据,有证据的是,iMac和MacBook的固件密码已经可以破解重置了
收藏 0赞 0分享
躲避黑客的七大高招教程
现在电脑用户最讨厌的就是黑客,有用户问怎么才能高效的躲避黑客的入侵呢?下面小编就为大家介绍七大高招,让你的电脑时时刻刻处于安全状态
收藏 0赞 0分享
在线DDoS攻击平台是什么 DDoS攻击平台的流量获取方式
流量获取是DDOS攻击的最重要一环,黑客主要通过获取厂商服务器的上行流量,致使你的服务器、电脑所属的网络或者系统资源耗尽而瘫痪,让你失去目标客户,借此用来勒索厂商。本文讲述了黑客获取流量的主要六种方式
收藏 0赞 0分享
如何提高DDoS攻击效率 增强DDoS攻击效果的思路
在我们的思维都朝着一个方向走的时候,忽然的转向会让人茅塞顿开。黑客在我眼中就是一群思维习惯不同的人,他们从不朝着同一个方向走,所以你才会被他们发现这么多的漏洞。一把手枪,四颗子弹,你能让子弹同时击中同一个目标来达到最强的杀伤力吗
收藏 0赞 0分享
十三步简单入侵个人电脑教程
下面小编就为电脑新手们打造了一个教程,从来没有通过网络进入别人电脑的用户快来看看吧,主要使用到的软件就是著名的国产木马冰河2.
收藏 0赞 0分享
DNS协议欺骗攻击技术的攻防知识 DNS欺骗攻击和防范方法有哪些
你是否遭遇过这样的情况?当你在浏览器中输入正确的URL地址,但是打开的并不是你想要去的网站。它可能是114的查询页面,可能是一个广告页面,更可能是一个刷流量的页面,甚至是一个挂马的网站。如果你遇到了上述情况话,那么极有可能你遭遇了DNS欺骗。
收藏 0赞 0分享
查看更多