首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux下使Shell 命令脱离终端后台运行

转自:http://www.linuxidc.com/Linux/2011-05/35723.htm 你是否遇到过这样的情况:从终端软件登录远程的Linux主机,将一堆很大的文件压缩为一个.tar.gz...文件,连续压缩了半个小时还没有完成,这时,突然你断网了,你登录不上远程Linux主机了,那么前面的半个小时就会前功尽弃,你非常气愤…… 在Linux下,如果你要执行的shell命令耗时特别长,并且: 你的网络不稳定...那么你就需要以脱离终端的方式在后台运行这个shell命令。...其中,nohup命令可以让你的shell命令忽略SIGHUP信号,即可以使之脱离终端运行;“&”可以让你的命令在后台运行。...以脱离终端的方式在后台运行shell命令有这样几个好处:只要你执行过了命令,那么你的网络中断不会对你有任何影响,并且你就可以关闭终端软件了 nohup默认会将log输出到当前目录下的nohup.out文件中

2.6K30

linux命令后台运行

有两种方式: 1. command & : 后台运行,你关掉终端会停止运行 2. nohup command & : 后台运行,你关掉终端也会继续运行 一、 简介 Linux...而 Linux 提供了 fg 和bg 命令,让你轻松调度正在运行的任务。...kill 管理后台的任务 二、& 在Linux中,当在前台运行某个作业时,终端被该作业占据;而在后台运行作业时,它不会占据终端。.../test.sh & 在后台运行作业时要当心:需要用户交互的命令不要放在后台执行,因为这样你的机器就会在那里傻等。不过,作业在后台运行一样会将结果输出到屏幕上,干扰你的工作。...还有一种更加强大的方式是使用screen,首先创建一个断开模式的虚拟终端,然后用-r选项重新连接这个虚拟终端,在其中执行的任何命令,都能达到nohup的效果,这在有多个命令需要在后台连续执行的时候比较方便

9.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    linux 后台运行方法总结

    导言 多种后台运行方法总结,nohup, disown, setsid, (...&), screen, tmux 问题现象 远程登录服务器时常需要长时间运行任务,由于网络不稳定或logout等因素造成连接断开..., Linux Distributions等平台(遵循大部分POSIX标准, 但是没有认证),当 bash 设置huponexit为on时(可通过shopt命令设置),终端logout会给该终端所有进程发送...当前台已经执行任务时,使用Ctrl z将当前进程挂起到后台暂停运行,使用bg %1命令使后台挂起命令继续运行,再使用disown -h %1使进程忽略SIGHUP信号。...,然后再用 fg 来将挂起的进程重新放回前台(也可用 bg 来将挂起的进程放在后台)继续运行。...这样我们就可以在一个终端内灵活切换运行多个任务,这一点在调试代码时尤为有用。因为将代码编辑器挂起到后台再重新放回时,光标定位仍然停留在上次挂起时的位置,避免了重新定位的麻烦。

    3.8K20

    linux 后台运行进程:& , nohup

    为了使这些进程能够在后台运行,也就是说不在终端屏幕上运行,有几种选择方法可供使用。...后台执行 比较下 & 与 nohup: & :后台运行,但用户终端退出时(断连),命令结束 nohup test.sh & : 后台运行,用户终端退出时(断连)依然保持运行,可使用标准输入输出 & 当在前台运行某个作业时...,终端被该作业占据;可以在命令后面加上& 实现后台运行。...exit来退出终端;如果在nohup执行成功后直接点关闭程序按钮关闭终端的话,这时候会断掉该命令所对应的session,导致nohup对应的进程被通知需要一起shutdown,起不到关掉终端后调用程序继续后台运行的作用...查看后台运行的命令 有两个命令可以来查看,ps 和 jobs。区别在于 jobs 只能查看当前终端后台执行的任务,换了终端就看不见了。

    4.5K40

    linux程序在后台运行

    最近要用php进程发奖励,因为要精确到秒执行,linux系统的定时用不了,于是写了个死循环,usleep是必须的,否则系统cpu占用很高的系统cpu。 执行的时候碰到一个问题,关闭终端后进程也终止了。...,并使之运行——但是如果关闭终端,那么这个程序也就随着关闭了。...那么有没有什么方法在关闭终端后,让已经从这个终端启动的程序继续运行呢?...tty是所有终端设备的总称 pty是其中一类,伪终端,或者叫虚拟终端 “&” 命令行结尾法: 在Unix/Linux下如果想让程序独立终端运行,一般都是使用 & 在命令结尾来让程序自动运行。...# 时候,才可以关闭此终端,否则可能导致已经启动的进程被关闭(按enter——如果程序持续输出信息而没有出现 $ 或 #) 其他相关命令: jobs:查看当前有多少在后台运行的命令 fg:将后台中的命令调至前台继续运行

    5.1K10

    linux后台运行的几种方式(小结)

    1、nohup 将程序以忽略挂起信号的方式运行起来 补充说明 nohup命令 可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端。...如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出 jobs #查看后台运行的状态,jobs -l选项可显示所有任务的PID ps -ef | grep command 或者 ps...同样在暂时离开的时候,也可以执行分离命令detach,在保证里面的程序正常运行的情况下让Screen挂起(切换到后台) b、多窗口 在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入...窗口还可以被分区和命名,还可以监视后台窗口的活动。 会话共享 Screen可以让一个或多个用户 从不同终端多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出)。...第二次按为终点 Esc 结束 copy mode Ctrl + a ] -> paste,把刚刚在 copy mode 选定的内容贴上 操作示例见:https://wangchujiang.com/linux-command

    3.2K31

    Linux||后台运行及查看状态命令

    在使用Linux运行程序的时候,常常遇到需要耗费一定时间才能完成的文件,如果在前台运行,此时坐在电脑前的你只能被迫打开其他软件进行摸鱼。...在Windows系统下,只需要点点点,而在Linux下,一行命令即可。 nohup nohup 是 no hang up 的缩写,即不挂断的意思,此命令没有后台运行,且终端不能标准输入。...如果你正在运行一个进程,而且你觉得在关闭终端时该进程还不会结束,那么可以使用nohup命令,使服务器能够在你关闭终端之后继续运行相应的进程。...&和nohup &:指在后台运行,当用户退出账号或终端时,命令将一起退出。...bash 1.sh & #运行1.sh,当退出服务器时,该命令停止 nohup:不挂断的运行,注意并没有后台运行的功能,指用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,即使我们断开

    7.5K40

    如何使程序在Linux后台运行

    经常在Linux上面运行程序都有这样的体验: 某个程序运行的时候,会产生大量的log(提示)信息,但实际上我们只想让它跑一下而已,log暂时不需要或者后面才有需要。...但是,这样处理还不够,因为这样做虽然程序是在后台运行了,但log依然不停的输出到当前终端。因此,要让终端彻底的清静,还应将log重定向到指定的文件: ....那现在程序在后台运行了,我们怎么找到它呢?很简单,有两种方法: 1. jobs命令 jobs命令可以查看当前有多少在后台运行。...◆ ◆ ◆ ◆ ◆ nohup命令来避免程序中断 在命令的末尾加个&符号后,程序可以在后台运行,但是一旦当前终端关闭(即退出当前帐户),该程序就会停止运行。...那假如说我们想要退出当前终端,但又想让程序在后台运行,该如何处理呢?

    8.7K20

    Linux中的前台与后台运行

    事实上,在终端中如果对命令不加处理,那么命令会在前台运行。 然而有时候需要将编译、压缩等耗时的工作放到后台运行,这个时候只需要在命令末尾加上&即可。...$ tar -zcvf etc.tar.gz /etc > log.txt 2>&1 & [1] 27914 Shell将命令放在后台运行,并返回了作业号1和进程号27914。...需要注意的是,如果程序在后台运行,那么它将无法接受用户的输入,但是其输出将显示在屏幕上(可能用户正在进行其他工作,突然冒出了错误输出),因此在后台执行的程序需是不需要人工干预的、输出被妥善处理(比如重定向...有的时候在程序开始运行之后,想要将程序放在后台执行,这时需要按^Z快捷键暂停程序,然后使用bg %作业号命令将其放入后台执行: $ sleep 10 ^Z [1]+ Stopped...上面例子中jobs命令列出后台的程序。

    1.4K10

    Linux系统后台运行进程原理

    这篇文章给大家分享的是“Linux系统后台运行进程原理”,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下吧。...在Linux下,后台执行跟windows就有写区别了,因为,我们后台执行的程式主要是通过php.exe文件通过system来实现的,但在linux下,没有php.exe文件,但是在"/usr/bin/php...所以,我们后台执行的程式可以这样修改,实用于linux和windows: $now_os = PHP_OS; if ($now_os == 'Linux'){// this is for Fedora...8 $p = "/usr/bin/php"; } else{ $document_root = 在Linux下,后台执行跟windows就有写区别了,因为,我们后台执行的程式主要是通过php.exe...$class." "); 关于“Linux系统后台运行进程原理”就介绍到这了。

    1.1K20
    领券