如何在后台启动Linux命令和在终端分离进程
发布网友
发布时间:2022-04-21 02:43
我来回答
共1个回答
热心网友
时间:2022-06-17 12:51
在后台运行 Linux 命令
你可以通过输入 jobs 查看所有的后台任务。但是,标准输入(STDIN)、标准输出(STDOUT)和标准错误(STDERR)依旧掺杂到控制台中。
$ tar -czf home.tar.gz .
$ bg
$ jobs
在后台开始一个 Linux 进程
你也可以直接使用符号 & 在后台运行一个进程:
$ tar -czf home.tar.gz . &
$ jobs
运行在后台的 Linux 进程信息
看一下下面的这个例子,虽然 tar 命令是作为一个后台任务开始的,但是错误信息依旧发送到终端,这表示,进程依旧和控制终端关联在一起。
$ tar -czf home.tar.gz . &
$ jobs
退出控制台之后,保持 Linux 进程的运行
我们将使用 disown 命令,它在一个进程已经运行并且被放在后台之后使用,它的作用是从 shell 的活动任务列表中移走一个 shell 任务,因此,对于该任务,你将再也不能使用 fg 、 bg 命令了。而且,当你关闭控制控制终端,这个任务将不会挂起(暂停)或者向任何一个子任务发送 SIGHUP 信号。
关闭终端之后,保持 Linux 进程运行
让我们看一下先下面的这个使用 bash 中内置命令 disown的例子。
$ sudo rsync Templates/* /var/www/html/files/ &
$ jobs
$ disown -h %1
$ jobs
关闭 shell 之后把 Linux 进程置于后台
你也可以使用 nohup 命令,这个命令也可以在用户退出 shell 之后保证进程在后台继续运行。
$ nohup tar -czf iso.tar.gz Templates/* &
$ jobs
从控制终端脱离一个 Linux 进程
为了彻底从控制终端脱离一个程序,对于图形用户界面 (GUI) 的程序例如 firefox 来说,使用下面的命令行格式会更有效:
$ firefox </dev/null &>/dev/null &
在 Linux 上,/dev/null 是一个特殊的文件设备,它会忽略所有的写在它上面的数据,上述命令,输入来源和输出发送目标都是 /dev/null。
作为结束陈述,运行一个连接到控制终端的进程,作为用户你将会在你的终端上看到这个进程数据的许多行的输出,也包含错误信息。同样,当你关闭一个控制终端,你的进程和子进程都将会终止。
如何在后台启动Linux命令和在终端分离进程
关闭 shell 之后把 Linux 进程置于后台 你也可以使用 nohup 命令,这个命令也可以在用户退出 shell 之后保证进程在后台继续运行。nohup tar -czf iso.tar.gz Templates/* & jobs 从控制终端脱离一个 Linux 进程 为了彻底从控制终端脱离一个程序,对于图形用户界面 (GUI) 的程序例如 firefox 来说,使用...
Linux SCADA
ForceSCADA是力控科技信创产品的重要组成部分,具备完全自主知识产权,支持部署在Linux桌面版、服务器版、嵌入式等系统架构下。使用ForceSCADA可以搭建创新性高、扩展性佳、融合度强的SCADA平台,进而构建高效、智能化的监控中心,先进、灵活的...
如何在终端使用后台运行模式启动一个Linux应用程序
如果是使用Ubuntu的话,你可以利用CTRL+ALT+T组合键打开终端。当然你也可以使用超级键(Windows键)打开Dash,搜索“TERM”,然后点击“Term”图标来打开终端窗口。对于其他的桌面环境来说,例如XFCE、KDE、LXDE、Cinnamon以及MATE,你可以在菜单中找到终端。有些环境会在停靠栏或者面板上面包含终端图标。通常...
如何在终端使用后台运行模式启动一个Linux应用程序
使用Ubuntu的话,你可以使用CTRL + ALT + T组合键打开一个终端。你也可以点击超级键(Windows键)打开一个终端窗口。在键盘上,打开Ubuntu Dash,然后搜索”TERM”。点击”Term”图标将会打开一个终端窗口。其他诸如XFCE, KDE, LXDE, Cinnamon和MATE的桌面环境,你将会在菜单中发现“终端”这个应用。还有...
如何在终端使用后台运行模式启动一个Linux应用程序
在终端将一个程序直接丢入后台执行的方法是:在命令的最后面加上一个&符号,比如如下命令:tar -zxv -f test.tar.gz -C /tmp > /dev/null & 最后面的那个&符号是命令多加上的符号,意思就是放入后台运行,那如何看到后台工作的程序呢,方法是输入jobs命令,这个命令就是专门查看用&符号丢入后台...
linux系统下如何从后台启动进程?
因此,我们的解决办法就有两种途径:要么让进程忽略 HUP 信号,要么让进程运行在新的会话里从而成为不属于此终端的子进程。 1. nohup nohup 无疑是我们首先想到的办法。顾名思义,nohup 的用途就是让提交的命令忽略 hangup 信号。让我们先来看一下 nohup 的帮助信息: NOHUP(1) User Commands NOHUP(1) NAME ...
如何在终端使用后台运行模式启动一个Linux应用程序
jobs---查看在后台执行的进程 fg %n---将后台执行进程n调到前台执行,n表示jobnumber(通过jobs查看的进程编号,而非pid)ctrl+z---将在前台执行的进程,放到后台并挂起 bg %n---将在后台挂起的进程,继续执行 ctrl+c---前台进程终止 kill %n---杀掉后台运行的进程,n表示jobnumber(通过jobs...
Linux进程后台运行的几种方式
在Linux中,如果要让进程在后台运行,一般情况下,我们在命令后面加上&即可,实际上,这样是将命令放入到一个作业队列中了:./rsync.sh jobs 但是如上方到后台执行的进程,其父进程还是当前终端shell的进程,而一旦父进程退出,则会发送hangup信号给所有子进程,子进程收到hangup以后也会退出。如果...
如何在终端使用后台运行模式启动一个Linux应用程序
如何在终端使用后台运行模式启动一个Linux应用程序 程序后加 &
linux命令后台运行
一、Shell支持作用控制,有以下命令:1.command让进程在后台运行2.jobs_l查看后台运行的进程3.fg%n让后台运行的进程n到前台来4.bg%n让进程n到后台去;PS:“n”为jobs查看到的进程编号。二、执行命令切换至后台在Linux终端运行命令的时候,在命令末尾加上符号,就可以让程序在后台运行root@Ubuntu$。/...
Linux如何切换后台进程??
一、Shell支持作用控制,有以下命令:command 让进程到后台运行 jobs -l 查看后台运行的进程 fg %n 让后台运行的进程n到前台来 bg %n让进程n到后台去 PS : "n"为jobs查看到的金城编号 二、执行命令&切换到后台 在linux终端运行命令的时候,在命令尾囧上&符号,就可以让程序在...