Linux命令后台执行的方法

当进程不是守护进程时,不能简单地在命令行后添加一个&,当终端关闭时,该进程也随之关闭。因为通常在终端起动的进程其父进程是终端进程。当终端关闭时,其所有子进程也随之关闭。使进程在后台执行需要使用nohup命令:

nohup command > out.log 2>&1 &

nohup的作用是将进程的父进程设置为1,即init进程,这样终端关闭时,不会影响该进程。

使用2>&1将标准错误输出也重定向到标准输出中,因为预定义的STDIN,STDOUT,STDERR分别是0,1,2。

时间: 2024-10-14 23:04:36

Linux命令后台执行的方法的相关文章

Linux命令后台执行技巧小结

1.最简单的方法: command & 例如: top & 此时显示job编号和后台进程号 [1] 14814 2.正在运行的程序放入后台 Ctrl - Z 3.查看有哪些后台进程及状态 jobs 4.将后台进程切换到前台执行 fg job编号 5.让后台暂停的进程继续执行 bg job编号 6.杀死后台执行程序 kill %job编号 7.让程序在后台执行,关闭终端也不退出 例如一个不断输出程序test.sh,如下 while [ True ] do echo hello sleep 1

Linux后台执行的方法 - 关闭、退出不影响

难免会遇到在Linux,后台执行任务.下面,总结了一下关闭窗口任然在后台执行的方法,例如 #执行一个打包命令 tar czf /data/backup.tgz /data/backup 1. 采用& tar czf /data/backup.tgz /data/backup & ctrl+d #退出 才可以,如果直接关闭窗口,进程任然会被关闭 2. 采用nohup nohup tar czf /data/backup.tgz /data/backup ctrl+z #挂起到后台 bg #后

自学Linux命令的四种方法

自学Linux命令的四种方法 导读 童鞋们刚接触linux时,在学习过程中中会遇到不少问题,学习linux摸不着头脑,那么下面介绍四种linux的学习方法,特别适合新手. 方法一:终端"每日提示" 在.bashrc中(/home/.bashrc)增加如下一行: echo "Did you know that:"; whatis$(ls /bin | shuf -n 1) 你只需要增加这行就够了!如果你想让它更娱乐化一些,你可以安装cowsay.Ubuntu/Debi

关于 Linux 下后台执行 Python 脚本的缓冲问题

[问题简述] 在 Linux 下后台执行 Python 脚本,重定向到日志文件,日志文件迟迟没有内容. [方案一](测试有效) nohup python3 -u t.py &> log.log & [方案一](测试无效) 方案二来自 stackoverflow,虽然测试无效,但其他地方也许会用到,记录一下. stdbuf -oL nohup python3 t.py &> log.log & *** walker *** 原文地址:http://blog.51c

Linux在后台执行命令或脚本

在日常的工作中,我们会遇到执行备份.恢复数据等执行过程时间很长的命令或者脚本程序运行,此时,我们为防止执行过程被打断,需要将命令或脚本在后台执行.1)方法1nohup sh reload.sh &2)方法2(推荐使用)使用screen命令临时在后台开辟一个新的窗口,将命令或脚本放到窗口内执行,这样执行过程就不会被断了.具体实现方法如下:(前提是已经安装了screen包)screen -S yangchunliriot 新建一个yangchunliriot的screenscreen -ls 列出所

【erlang】执行linux命令的两种方法

os.cmd(Cmd) os模块提供了cmd函数可以执行linux系统shell命令(也可以执行windows命令).返回一个Cmd命令的标准输出字符串结果.例如在linux系统中执行os:cmd("date"). 返回linux的时间. 这种比较简单,一般情况下,也满足了大部分需求. erlang:open_port(PortName, PortSettings) 当os.cmd(Cmd) 满足不了你的需求的时候,就可以用强大的open_port(PortName, PortSett

linux命令后台运行

1.在下达的命令后面加上&,就可以使该命令在后台进行工作,这样做最大的好处就是不怕被ctrl+c这个中断指令所中断. 2. 那大家可能又要问了,在后台执行的程序怎么使它恢复到前台来运行呢?很简单,只用执行fg这个命令,就可以了. 3.可能有些同学又要问了,我现在已经在前台运行的命令,我能把它放到后台去运行么?当然可以了,只要执行ctrl+z就可以做到了.是不是很赞啊! 4.说到这里可能有些同学又要问了,如果我有多个进程在后台运行,那如何恢复到前台来执行呢?这时候就要用到jobs这个命令了,通过j

【转】linux命令后台运行

本文转自  http://www.cnblogs.com/lwm-1988/archive/2011/08/20/2147299.html 有两种方式: 1. command & : 后台运行,你关掉终端会停止运行   2. nohup command & : 后台运行,你关掉终端也会继续运行 一. 简介     Linux/Unix 区别于微软平台最大的优点就是真正的多用户,多任务.因此在任务管理上也有别具特色的管理思想.我们知道,在 Windows 上面,我们要么让一个程序作为服务在后

linux 命令后台运行(转载)

原文连接:https://www.cnblogs.com/lwm-1988/archive/2011/08/20/2147299.html 有两种方式: 1. command & : 后台运行,你关掉终端会停止运行   2. nohup command & : 后台运行,你关掉终端也会继续运行 一. 简介     Linux/Unix 区别于微软平台最大的优点就是真正的多用户,多任务.因此在任务管理上也有别具特色的管理思想.我们知道,在 Windows 上面,我们要么让一个程序作为服务在后