Linux 后台运行及其它作业操作

一、后台运行脚本

如果想要脚本在后台运行,只要在命令的最后加上 & 即可。

二、忽略挂起信号

1、nohup 命令

使用:nohup + command

nohup命令可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端。输出都将附加到当前目录的 nohup.out 文件中。
问题:使用SSH远程Linux服务器启动应用,都是使用nohup &命令,结果关闭SSH应用仍然挂断了。
解决方法:有个操作终端时的细节,当shell中提示了nohup成功后还需要按终端上键盘任意键退回到shell输入命令窗口,然后通过在shell中输入exit来退出终端。

2、setsid 命令

使用:setsid+command
setsid:run a program in a new session

3、小括号()

将一个或多个命名包含在“()”中就能让这些命令在子 shell 中运行

4、disown 和 screen 命令

① disown 的用处是补救已经在运行的任务去忽略HUP信号:
      用 '$ disown -h jobspec' 来使某个作业忽略HUP信号。
      用 '$ disown -ah' 来使所有的作业都忽略HUP信号。
      用 '$ disown -rh' 来使正在运行的作业忽略HUP信号。
② screen : 如果有大量这种命令需要在稳定的后台里运行,避免对每条命令都做这样的操作:
    screen 提供了 ANSI/VT100 的终端模拟器,使它能够在一个真实终端下运行多个全屏的伪终端。
      用screen -dmS session name来建立一个处于断开模式下的会话(并指定其会话名)。
      用screen -list 来列出所有会话。
      用screen -r session name来重新连接指定会话。
      用快捷键CTRL-a d 来暂时断开当前会话。

三、其它相关命令

1、$ jobs 命令:用于显示Linux中的任务列表及任务状态,包括后台运行的任务。其中,'+' 表示当前作业,'-' 表示下一个作业。2、ctrl+z 快捷键: 将当前进程挂起(暂停并放入后台)
3、ctrl+c 快捷键:结束当前任务
4、$ kill [进程号 或者 %作业号]:杀死指定的进程或者任务。
5、$ fg [%jobnumber]: 用于将后台作业(在后台运行的或者在后台挂起的作业)放到前台终端运行。默认是当前任务。
6、$ bg [%jobnumber]: 命令用于将作业 (已挂起) 放到后台运行,使前台可以执行其他任务。默认是当前任务。
7、$ ps指令: 用于报告当前系统的进程状态
      $ ps -ef 或者 $ ps -aux 显示所有进程
8、$ pstree -H<程序识别码>:以树状图的方式展现进程之间的派生关系,显示效果比较直观。

发布了54 篇原创文章 · 获赞 66 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/qq_29837161/article/details/86360000
今日推荐