以后台执行的方式允许软件运行怎么设置的么

——Linux运维之路
Ctrl+z/bg/nohup/setsid/&
在Linux中,如果要让进程在后台运行,一般情况下,我们在命令后面加上&即可,实际上,这样是将命令放入到一个作业队列中了:
./rsync.sh &
但是如上方到后台执行的进程,其父进程还是当前终端shell的进程,而一旦父进程退出,则会发送hangup信号给所有子进程,子进程收到hangup以后也会退出。如果我们要在退出shell的时候继续运行进程,则需要使用nohup忽略hangup信号,或者setsid将将父进程设为init进程(进程号为1):对于已经在前台执行的命令,也可以重新放到后台执行,首先按ctrl+z暂停已经运行的进程,然后使用bg命令将停止的作业放到后台运行:bg %1,放回前台运行:%1。
# nohup ./rsync.sh &
# setsid ./rsync.sh &
# (./rsync.sh &) ////在一个subshell中执行
# ps -ef|grep rsync
nohup 的用途就是让提交的命令忽略 hangup 信号,标准输出和标准错误缺省会被重定向到 nohup.out 文件中。。一般我们可在结尾加上&&&来将命令同时放入后台运行,也可用& & log.out 2&&1&来更改缺省的重定向文件名。
上面的试验演示了使用nohup/setsid加上&使进程在后台运行,同时不受当前shell退出的影响。那么对于已经在后台运行的进程,该怎么办呢?可以使用disown命令:
# disown -h %1
# ps -ef|grep rsync
效果与setid相同,但是disown后无法通过jobs命令查看了。
还有一种更加强大的方式是使用screen,首先创建一个断开模式的虚拟终端,然后用-r选项重新连接这个虚拟终端,在其中执行的任何命令,都能达到nohup的效果,这在有多个命令需要在后台连续执行的时候比较方便。
GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换,可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
# yum install screen -y
常用screen参数:
# screen -S docker-d 新建一个名叫docker-d的session,并马上进入
# screen -dmS docker-d 新建一个名叫docker-d的session,但暂不进入,可用于系统启动脚本里
# screen -ls 列出当前所有session
# screen -r docker-d 恢复到zhouxiao这个session,前提是已经是断开状态(-d可以远程断开会话)
# screen -x docker-d 连接到离线模式的会话(多窗口同步演示)
# screen ./rsync.sh screen创建一个执行脚本的单窗口会话,可以attach进程ID
# screen -wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业
正常情况下,当你退出一个窗口中最后一个程序(通常是bash)后,这个窗口就关闭了。另一个关闭窗口的方法是使用C-a k,这个快捷键杀死当前的窗口,同时也将杀死这个窗口中正在运行的进程。
在每个screen session 下,所有命令都以 ctrl+a(C-a) 开始。
C-a w 显示所有窗口列表
C-a k 这个快捷键杀死当前的窗口,同时也将杀死这个窗口中正在运行的进程。
C-a d detach,暂时离开当前session
上面只是基本也是最常用的用法,更多请参考man screen或。需要了解的是,一个用户创建的screen,其他用户(甚至root)通过screen -ls是看不见的。另外,Ctrl+a在bash下是用来回到行开头,不幸与上面的组合快捷键冲突。
原文连接: http://seanlook.com//linux-process-running-background-screen/
阅读(...) 评论()Linux进程后台运行的几种方式 - 简书
Linux进程后台运行的几种方式
Ctrl+z/bg/nohup/setsid/&###
在Linux中,如果要让进程在后台运行,一般情况下,我们在命令后面加上&即可,实际上,这样是将命令放入到一个作业队列中了:
&pre&# ./rsync.sh &
# jobs&/pre&对于已经在前台执行的命令,也可以重新放到后台执行,首先按ctrl+z暂停已经运行的进程,然后使用bg命令将停止的作业放到后台运行:bg %1,放回前台运行:%1。
但是如上方到后台执行的进程,其父进程还是当前终端shell的进程,而一旦父进程退出,则会发送hangup信号给所有子进程,子进程收到hangup以后也会退出。如果我们要在退出shell的时候继续运行进程,则需要使用nohup忽略hangup信号,或者setsid将将父进程设为init进程(进程号为1):
&pre&# nohub ./rsync.sh &
# setsid ./rsync.sh &
# (./rsync.sh &) \\\在一个subshell中运行
ps -ef |grep rsync&/pre&nohup 的用途就是让提交的命令忽略 hangup 信号,标准输出和标准错误缺省会被重定向到 nohup.out 文件中。一般我们可在结尾加上”&”来将命令同时放入后台运行,也可用” & log.out 2&&1”来更改缺省的重定向文件名。
上面的试验演示了使用nohup/setsid加上&使进程在后台运行,同时不受当前shell退出的影响。那么对于已经在后台运行的进程,该怎么办呢?可以使用disown命令:
&pre&# jobs
# disown -h %1
# ps -ef|grep rsync&/pre&效果与setid相同,但是disown后无法通过jobs命令查看了。
还有一种更加强大的方式是使用screen,首先创建一个断开模式的虚拟终端,然后用-r选项重新连接这个虚拟终端,在其中执行的任何命令,都能达到nohup的效果,这在有多个命令需要在后台连续执行的时候比较方便。
GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换,可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能.
&pre&# yum install screen -y&/pre&常用screen参数:
&pre&# screen -S docker-d
新建一个名叫docker-d的session,并马上进入
# screen -dmS docker-d
新建一个名叫docker-d的session,但暂不进入,可用于系统启动脚本里
# screen -ls
列出当前所有session
# screen -r docker-d
恢复到zhouxiao这个session,前提是已经是断开状态(-d可以远程断开会话)
# screen -x docker-d
连接到离线模式的会话(多窗口同步演示)
# screen ./rsync.sh
screen创建一个执行脚本的单窗口会话,可以attach进程ID
# screen -wipe
检查目前所有的screen作业,并删除已经无法使用的screen作业&/pre&正常情况下,当你退出一个窗口中最后一个程序(通常是bash)后,这个窗口就关闭了。另一个关闭窗口的方法是使用C-a k,这个快捷键杀死当前的窗口,同时也将杀死这个窗口中正在运行的进程。
在每个screen session 下,所有命令都以 ctrl+a(C-a) 开始。
&pre&C-a w 显示所有窗口列表
C-a k 这个快捷键杀死当前的窗口,同时也将杀死这个窗口中正在运行的进程。
C-a d detach,暂时离开当前session&/pre&需要了解的是,一个用户创建的screen,其他用户(甚至root)通过screen -ls是看不见的。另外,Ctrl+a在bash下是用来回到行开头,不幸与上面的组合快捷键冲突。
上面只是基本也是最常用的用法,更多请参考man screen或。
&pre&[root@pvcent107 ~]# screen -dmS Urumchi
[root@pvcent107 ~]# screen -list
There is a screen on:
12842.Urumchi
(Detached)
1 Socket in /tmp/screens/S-root.
[root@pvcent107 ~]# screen -r Urumchi&/pre&当我们用“-r”连接到 screen 会话后,我们就可以在这个伪终端里面为所欲为,再也不用担心 HUP 信号会对我们的进程造成影响,也不用给每个命令前都加上“nohup”或者“setsid”了。这是为什么呢?让我来看一下下面两个例子吧。
未使用 screen 时新进程的进程树
&pre&[root@pvcent107 ~]# ping
[root@pvcent107 ~]# pstree -H 9499
init─┬─Xvnc
├─acpid ├─atd
├─2[sendmail] **
├─sshd─┬─sshd───bash───pstree │
└─sshd───bash───ping*&/pre&
我们可以看出,未使用 screen 时我们所处的 bash 是 sshd 的子进程,当 ssh 断开连接时,HUP 信号自然会影响到它下面的所有子进程(包括我们新建立的 ping 进程)。
使用了 screen 后新进程的进程树
&pre&[root@pvcent107 ~]# screen -r Urumchi
[root@pvcent107 ~]# ping
[root@pvcent107 ~]# pstree -H 9488
init─┬─Xvnc
├─atd **
├─screen───bash───ping**
├─2*[sendmail]&/pre&而使用了 screen 后就不同了,此时 bash 是 screen 的子进程,而 screen 是 init(PID为1)的子进程。那么当 ssh 断开连接时,HUP 信号自然不会影响到 screen 下面的子进程了。
现在几种方法已经介绍完毕,我们可以根据不同的场景来选择不同的方案。nohup/setsid 无疑是临时需要时最方便的方法,disown 能帮助我们来事后补救当前已经在运行了的作业,而 screen 则是在大批量操作时不二的选择了。
我是Tianny,我在杭州。
踏实做事,低调做人。
想让进程在断开连接后依然保持运行?如果该进程已经开始运行了该如何补救? 如果有大量这类需求如何简化操作? 我们经常会碰到这样的问题,用 telnet/ssh登录了远程的Linux服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受...
Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意义的,您不是第一个为此困惑的人,当然,也不会是最后一个:)大多数的美国人读 ubuntu 时,将 u 作为元音发音,类似单词 who 或者 boo ,重音在第二...
转自http://www.ibm.com/developerworks/cn/linux/l-cn-screen/ 你是不是经常需要 SSH 或者 telent 远程登录到 Linux 服务器?你是不是经常为一些长时间运行的任务而头疼,比如系统备份、ftp 传输等等。通常情...
转载自:http://zjking.blog.51cto.com/7828 作者:zjking 转载自:http://askubuntu.com/questions/8653/how-to-keep-processes-running-after-end...
作者:岳国帅原文地址:http://www.linuxprobe.com/process-run-background/ 想让进程在断开连接后依然保持运行?如果该进程已经开始运行了该如何补救? 如果有大量这类需求如何简化操作? 我们经常会碰到这样的问题,用 telnet/s...
去朋友家吃饭,一边吃一边闲谈,不知怎么就谈到了年轻人失恋的问题。她说: “失恋太正常了,年轻就是要经历几段失恋的折磨,这样情感才会走向成熟。初恋是注定要分手的,因为初恋的最大使命就是为了充当回忆。失恋了,虽然令人感觉痛苦,但等将来回忆起来就是美好的了。哪像咱俩,人家随便给介...
感受存在的魅力 享受存在给予的一切 有日有月 有男有女 有苦有乐 有贫有富 世间拥有缤纷的色彩 这就是本原
本人37岁农历生日 母亲节 播着Always With Me 写下以上文字
读经: 《创世记》第45章。 经文: 他们从埃及上去,来到迦南地他们的父亲雅各那里,告诉他说:“约瑟还在,并且作埃及全地的宰相。”雅各心里冰凉,因为不信他们。他们便将约瑟对他们说的一切话都告诉了他。他们父亲雅各,又看见约瑟打发来接他的车辆,心就苏醒了。(创45:25-27)...
生命是一场美丽的遇见 我只是尽自己微小的力量 生命回馈给我的源源超出我的想象 何其有幸,真我对我的安排, 一切都是最完美的! 我无限感激与感恩! 我是禅——12年艺术瓷砖,电视背景墙工作经验,欢迎加我微信号:LYC178 我相信日积月...
01 让我唯一在乎的不是我的导游证的面试笔试成绩有没有过,当然,我也真的希望自己可以成功的拿到导游证,至少,证明了我两个月的努力没有白费。无论最后的结果怎么样,我都会欣然的接受,毕竟,我是史无前例的努力过。 让我忘不了的还是叶子的那张欢天喜地的脸,叶子是我去考导游证模拟面试...王者荣耀是不是不能后台运行啊?_王者荣耀吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:7,256,480贴子:
王者荣耀是不是不能后台运行啊?
我的手机运行王者荣耀,打到一半,一旦来电话,或者出去回个qq消息,回到游戏就要重新开始,重新载入,好几分钟才能回到比赛,问问大家有没有解决的办法啊?
没有这种游戏就是被迫退出的
没有吧 华为4x 接了电话 回去可以继续玩 不过十秒内有点卡
赢了别说话 热烈庆祝在线突破100万,王者荣耀皮肤吧关注突破1位数!
你的手机内存不够
3G不够起码要3T
5.1的可以后台,4.4的后台会被清除,我深受其害
这个帖子都这么久了还能被挖出来,也是醉醉的。
「天猫手机馆」华为荣耀,5.93英寸全面屏,圆润侧边设计,一手掌握,轻松操作「天猫手机馆」7天无理由退换货,购物无忧!
自动被退出游戏 然后某某玩家重新了连接,长点时间直接说你挂机
我也是这样
tm的垃圾游戏
玩一局要被这个问题气死
内存大的可以后台
我这么干,出去再回来就是退出需要重新链接不过有一回不是有一回玩,出去接电话回来,结果发现没掉,只是重新链接,然后游戏画面像走马灯一样,我满地图乱走,买了装备,还拿了助攻。。。
可以后台运行
我用home键返回主界面
刷了一会贴吧
再回王者 接着玩
我的是自动退出
5a玩王者就是一个笑话,我4a玩都可以后台
可以后台啊,我经常匹配玩玩死了就出去回QQ信息。一般你这样应该是内存不足   --艹蛋的青春
这是手机不同,有的可以用完别的软件继续玩,但有的就要重新加载
我华为荣耀5也没用
是不是手机的问题
运行内存不够啊
贴吧热议榜
使用签名档&&
保存至快速回贴(ERROR:15) & 访客不能直接访问redis后台启动方式讲解之如何让redis长久的运行?
redis最简单的启动就是运行redis安装目录下的redis-server.exe文件,运行成功会打开一个命令窗口,但是窗口已关闭redis就会停止运行,如何让redis长久的运行呢?
1.win+R,输入cmd打开命令窗口
2.进入redis安装目录
3.输入:redis-server &service-install redis.windows.conf &loglevel verbose ( 安装redis服务 )
4.输入:redis-server &service-start ( 启动服务 )
5.输入:redis-server &service-stop(停止服务)}

我要回帖

更多关于 keep锁屏不暂停课程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信