有两种方式: 1. command & : 后台运行,你关掉终端会停止运行 2. nohup command & : 后台运行,你关掉终端也会继续运行 一、 简介 Linux...我们知道,在 Windows 上面,我们要么让一个程序作为服务在后台一直运行,要么停止这个服务。而不能让程序在前台后台之间切换。...而 Linux 提供了 fg 和bg 命令,让你轻松调度正在运行的任务。...kill 管理后台的任务 二、& 在Linux中,当在前台运行某个作业时,终端被该作业占据;而在后台运行作业时,它不会占据终端。...对于已经在前台执行的命令,也可以重新放到后台执行,首先按ctrl+z暂停已经运行的进程,然后使用bg命令将停止的作业放到后台运行,例如对正在前台执行的tesh.sh使用ctrl+z挂起它: $ .
那么有没有什么方法在关闭终端后,让已经从这个终端启动的程序继续运行呢?...tty是所有终端设备的总称 pty是其中一类,伪终端,或者叫虚拟终端 “&” 命令行结尾法: 在Unix/Linux下如果想让程序独立终端运行,一般都是使用 & 在命令结尾来让程序自动运行。...: jobs:查看当前有多少在后台运行的命令 fg:将后台中的命令调至前台继续运行。...如果后台中有多个命令,可以用 fg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid) bg:将一个在后台暂停的命令,变成继续执行。...如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出,%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid) 杀死进程 杀死已经启动的程序和普通方式一样
后台运行脚本 执行脚本test.sh:..../test.sh 中断脚本test.sh:ctrl+c 在1的基础上将运行中的test.sh,切换到后台并暂停:ctrl+z 执行ctrl+z后,test.sh在后台是暂停状态(stopped),...使用命令:bg number让其在后台开始运行(“number”是使用jobs命令查到的 [ ]中的数字,不是pid) 直接在后台运行脚本test.sh:....) 中断后台运行的test.sh脚本:先fg %number切换到前台,再ctrl+c;或是直接kill %number 以上两种在后台运行test.sh的方法,当遇到退出当前shell终端时,后台运行的...信号,或者使用setsid将其父进程改为init进程(进程号为1) 不中断的在后台运行test.sh另一个命令:setsid .
在使用Linux运行程序的时候,常常遇到需要耗费一定时间才能完成的文件,如果在前台运行,此时坐在电脑前的你只能被迫打开其他软件进行摸鱼。...在Windows系统下,只需要点点点,而在Linux下,一行命令即可。 nohup nohup 是 no hang up 的缩写,即不挂断的意思,此命令没有后台运行,且终端不能标准输入。...如果你正在运行一个进程,而且你觉得在关闭终端时该进程还不会结束,那么可以使用nohup命令,使服务器能够在你关闭终端之后继续运行相应的进程。...语法格式 :nohup Command [Arg] [&] 参数说明: Command:要执行的命令。 Arg:一些参数,可以指定输出文件。 &:让命令在后台执行,终端退出后命令仍执行。...如果把nohup和&结合起来,就能使命令在后台永久的运行。
通常情况下,当你在终端运行一个命令,在你开始输入另外一个命令之前,你必须等待当前命令运行结束。这被称为在前台运行命令,或者前台进程。...最明显并且最直接的选项就是启动一个新的 Shell 会话,并且在上面运行命令。另外一个选项,就是在后台运行命令。...一个后台进程就是说一个进程/命令在终端启动后,运行在后台,并且不会和用户发生任何交互。 在这篇文章中,我们将会讨论在 Linux 中的后台进程。...在后台运行一个 Linux 命令 为了在后台运行命令,请在命令的后面添加一个符号(&): command & 这个 shell 的任务 id(被括号包围的内容)和进程 ID 将会被打印在终端: [1]...总结 为了在后台运行命令,请在命令的后面添加符号& 当你在后台运行命令时,你可以不需要等待它结束,就可以接着运行另外一个命令。
通常情况下,在 Linux 终端中运行命令时,我们必须等前一命令执行完成后,在输入并执行后一条命令,称之为在前台或前台进程中运行命令,进程在前台运行时,将占用您的外壳,并且您也可以使用输入设备与其终端进行交互...第一:启动新的 Shell 会话并在其中运行命令; 第二:在后台运行命令; 后台进程是从终端启动并在后台运行,无需用户与其终端进行交互的进程及命令; 1、组合键及命令 以 httpd-2.2.17.tar.gz...## 查看所有的后台任务 [1]+ Done tar -zxf httpd-2.2.17.tar.gz 2、& 在执行命令后加&,使其在终端后台运行。.../yum_install.sh & 执行完如上命令,yum脚本便在后台运行,虽然在后台运行了,但输出的内容还是会在终端上进行显示的,那么我们可以采用将执行后的命令输出结果重定向到文件中。 # ....在执行命令最前面使用nohup,当关闭控制台时,进程依旧会在后台继续运行。 # nohup .
详解Linux Screen让程序保持后台运行 ? 您是否曾经遇到过在远程计算机上执行长时间运行的任务,突然连接中断,SSH会话终止以及工作丢失的情况。...换句话说,这意味着您可以启动屏幕会话,然后在该会话中打开任意数量的窗口(虚拟终端)。 当您的屏幕窗口不可见时,即使您已断开连接,在Screen中运行的进程也将继续运行。...重新连接到Linux Screen 要恢复Screen会话,请使用以下命令: screen -r 如果您的计算机上正在运行多个Screen会话,则需要在r参数后附加屏幕会话ID。...要查找会话ID,请使用以下命令列出当前正在运行的Screen会话: screen -ls 如果要还原屏幕16364.pts-0,请键入以下命令: screen -r 16364 ?...%= %{g}][%{B} %m-%d %{W}%c %{g}]' 基本的Linux屏幕用法 以下是开始使用屏幕的最基本步骤: 在命令提示符下,键入screen。 运行所需的程序。
经常在Linux上面运行程序都有这样的体验: 某个程序运行的时候,会产生大量的log(提示)信息,但实际上我们只想让它跑一下而已,log暂时不需要或者后面才有需要。...如果程序已经在运行了,其实也是有办法加入后台的,只需使用快捷键 ctrl-z 就能立马放到后台中了,不过这种方法其实是暂停了程序的运行,所以想要让程序继续运行还得输入 “fg” 命令让程序返回前台来。...那现在程序在后台运行了,我们怎么找到它呢?很简单,有两种方法: 1. jobs命令 jobs命令可以查看当前有多少在后台运行。...◆ ◆ ◆ ◆ ◆ nohup命令来避免程序中断 在命令的末尾加个&符号后,程序可以在后台运行,但是一旦当前终端关闭(即退出当前帐户),该程序就会停止运行。...那假如说我们想要退出当前终端,但又想让程序在后台运行,该如何处理呢?
二、怎么样使程序在后台执行 方法有很多,这里主要列举两种。假如我们有程序pso.cpp,通过编译后产生可执行文件pso,我们要使pso在linux服务器后台执行。...当客户端关机后重新登入服务器后继续查看本来在终端输出的运行结果。(假设操作都在当前目录下) 方法1在终端输入命令: # ....附: 在Linux中,如果要让进程在后台运行,一般情况下,我们在命令后面加上&即可,实际上,这样是将命令放入到一个作业队列中了: $ ..../test.sh & 对于已经在前台执行的命令,也可以重新放到后台执行,首先按ctrl+z暂停已经运行的进程,然后使用bg命令将停止的作业放到后台运行: $ ....那么对于已经在后台运行的进程,该怎么办呢?可以使用disown命令: $ .
为什么写这篇文章 直接原因是: 看到今天分享的另一篇文章 - Python 一行搭建文件服务器, 然后自己在 Windows 上操作了一下,发现关闭命令行服务就停止运行了....随后搞了很久,终于让程序在后台跑起来了(关闭命令行不会自动退出) 联想到了以前经常在 Linux 上搭建一些 C++编译的服务, 以前是直接 "..../服务名" 这样运行的(关闭命令行,服务即停止运行,很不方便),后来学到了 Linux 后台运行服务的技巧,很方便....缺点: 如果关闭命令行,服务就会自动终止,无法后台运行 3.后台运行的操作 后台运行 - 将标准输入和错误信息输出到指定文件(nohup.out) 代码如下: nohup python3 -m http.server...在Linux中, /dev/null是一个特殊的设备文件,它丢弃一切写入其中的数据 查看后台运行中的服务 运行 jobs -l 命令, 即可查看后台运行的程序以及它的 pid Windows 上操作
wscript.createobject("wscript.shell") ws.run "win.bat /start",0 (其中win.bat为你自己的批处理名字,自己改) 然后把这个记事本保存为后缀名为.vbe的文件,到时候你只要运行这个
来源 | https://dablelv.blog.csdn.net/article/details/79985071 1.命令简介 nohup 的作用可以将程序以忽略挂起信号(SIGHUP)的方式运行...常见的用法是和 & 命令一同使用,将命令放置到后台运行,即使终端挂掉,进程会忽略挂起信号,继续运行。 将程序放到后台运行,一般有两种方式: (1)command &:后台运行,关掉终端会停止运行。...(2)nohup command & :后台运行,关掉终端也会继续运行。...命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件。...a.sh &> error.txt [deng@itcast ~]$ 注意: (1)2>&1 标识标准错误输出重定向等同于标准输出重定向,即标准错误输出也重定向到文件test.log; (2)& 命令是命令放在后台执行
1.命令简介 nohup 的作用可以将程序以忽略挂起信号(SIGHUP)的方式运行。常见的用法是和& 命令一同使用,将命令放置到后台运行,即使终端挂掉,进程会忽略挂起信号,继续运行。...鸟哥Linux私房菜完整版 将程序放到后台运行,一般有两种方式: (1)command &:后台运行,关掉终端会停止运行。 (2)nohup command & :后台运行,关掉终端也会继续运行。...命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件。... a.sh &> error.txt [deng@itcast ~]$ 注意: (1)2>&1 标识标准错误输出重定向等同于标准输出重定向,即标准错误输出也重定向到文件test.log; (2)& 命令是命令放在后台执行...鸟哥Linux私房菜完整版
在Linux中,如果需要一个软件后台长期运行,那我们可以使用nohup bash -c “xxxxxx” & 这个命令。但是,这个命令有些局限性:我们无法继续交互式的和我们的应用进行交互。...因此我们可以使用screen命令来实现这个功能。screen命令的功能,有点类似于Windows下的“第二桌面”。...安装 输入以下命令安装screen sudo apt install screen 新建窗口 screen -S 窗口名称 我们使用上述命令进行新建窗口后,就能看到控制台进入了一个新的窗口。...返回原有的窗口 当我们目标的程序开始运行后,我们就可以通过以下步骤返回原来的窗口: ctrl+A 按键盘的d键 这样,我们就成功返回了原来的窗口了。...查看所有虚拟窗口 我们可以使用以下命令,查看当前已经打开的所有虚拟窗口: screen -ls 重新进入虚拟窗口 我们可以通过以下命令,重新进入虚拟窗口: screen -r 窗口的进程号
hexo是一个非常高效的博客,但由于其设计特点,目的是为了转换为静态页面,因此不必要一直在后台运行,但是我想随时随地写博客同步到github,使用hexo admin编辑器,这就需要hexo一直在后台运行...首先安装pm2 $ npm install -g pm2 第二步,写一个运行脚本,在博客根目录下面创建一个hexo_run.js //run const { exec } = require('child_process...console.log('stdout: ${stdout}'); console.log('stderr: ${stderr}'); }) 第三步,cd到博客根目录下运行脚本...# pm2 start hexo_run.js 参考文献 让hexo一直在后台运行 --------------------- Author: Frytea Title: Linux后台运行hexo
文件,连续压缩了半个小时还没有完成,这时,突然你断网了,你登录不上远程Linux主机了,那么前面的半个小时就会前功尽弃,你非常气愤…… 在Linux下,如果你要执行的shell命令耗时特别长,并且: 你的网络不稳定...,随时可能断网; 你在执行了shell命令之后必须要关闭终端软件(例如SecureCRT)。...那么你就需要以脱离终端的方式在后台运行这个shell命令。...其中,nohup命令可以让你的shell命令忽略SIGHUP信号,即可以使之脱离终端运行;“&”可以让你的命令在后台运行。...以脱离终端的方式在后台运行shell命令有这样几个好处:只要你执行过了命令,那么你的网络中断不会对你有任何影响,并且你就可以关闭终端软件了 nohup默认会将log输出到当前目录下的nohup.out文件中
我们知道程序在每次运行的时候地址都是不一样的,linux之所以有这样的设计也许是为了安全性考虑,不利于黑客的攻击。...显然程序每次运行的地址都不一样! 那么有没有办法让相同程序每次运行的地址都一样呢? 看到这里你也许会问为什么让程序每次运行的地址都一样,这不违背OS设计的初衷了吗?...是的,这的确违背 linux 内核设计的初衷。但是实际项目中难免不会遇到奇葩的需求,比如有些app由于历史的原因需要运行在指定地址上,那这时候就需要把地址空间随机化关掉。
场景 思考三个问题: 想让进程在断开连接后依然保持运行? 如果该进程已经开始运行了该如何补救? 如果有大量这类需求如何简化操作?...nohup/setsid/& 场景 如果只是临时有一个命令需要长时间运行,什么方法能最简便的保证它在后台稳定运行呢?...这样我们就可以在一个终端内灵活切换运行多个任务,这一点在调试代码时尤为有用。因为将代码编辑器挂起到后台再重新放回时,光标定位仍然停留在上次挂起时的位置,避免了重新定位的麻烦。...但是还有一个问题,这种方法的操作对象是作业,如果我们在运行命令时在结尾加了”&”来使它成为一个作业并在后台运行,那么就万事大吉了,我们可以通过jobs命令来得到所有作业的列表。...HUP 信号的影响,但是如果有大量这种命令需要在稳定的后台里运行,如何避免对每条命令都做这样的操作呢?
概述 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。...场景 Linux下如何让程序后台运行? 关掉终端继续让程序运行的方法? Linux ssh状态下如何后台运行程序?...优势对比 相对于nohup:nohup只是简单地让命令在后台运行,即使终端关闭也能继续。但是它缺乏自动重启功能,也不容易监控进程状态。...相对于setsid:setsid也是用于让进程在新的会话中运行,但它在进程管理的便捷性上不如 Supervisor。...相对于screen:screen可以让进程在一个虚拟终端中运行,即使退出终端也能保持运行。
color=auto receive_signal [root@labserver ~]# cat receive_signal.txt [root@labserver ~]# setsid setid 命令通过在新的会话中运行命令来实现摆脱当前终端控制的目的...当前台已经执行任务时,使用Ctrl z将当前进程挂起到后台暂停运行,使用bg %1命令使后台挂起命令继续运行,再使用disown -h %1使进程忽略SIGHUP信号。...另,使用 disown %1 也可达到相同效果,不过当前任务会从任务列表移除,但仍可以通过ps查看进程 Tips: 在我们的日常工作中,我们可以用 Ctrl z 来将当前进程挂起到后台暂停运行,执行一些别的操作...,然后再用 fg 来将挂起的进程重新放回前台(也可用 bg 来将挂起的进程放在后台)继续运行。...这样我们就可以在一个终端内灵活切换运行多个任务,这一点在调试代码时尤为有用。因为将代码编辑器挂起到后台再重新放回时,光标定位仍然停留在上次挂起时的位置,避免了重新定位的麻烦。
领取专属 10元无门槛券
手把手带您无忧上云