本篇文章将为大家分享一下在Linux 系统中进程管理的简单但是重要的概念,那就是如何从它的控制终端完全脱离一个进程。 当一个进程与终端关联在一起时,可能会出现两种问题: 你的控制终端充满了很多输出数据或者错误及诊断信息 如果发生终端关闭的情况,进程连同它的子进程都将会终止 为了解决上面两个问题,你需要从一个控制终端完全脱离一个进程,下面一起来看一下后台运行 Linux 命令并且将进程脱离终端具体方法。
如何在后台开始一个 Linux 进程或者命令行
如果一个进程已经运行,例如tar 命令行的例子,简单的按下 Ctrl+Z 就可以停止它(这里说的“停止”,不是终止,而是“暂停”的意思),然后输入命令 bg 就可以继续以一个任务在后台运行了。
在后台运行 Linux 命令
你可以通过输入 jobs 查看所有的后台任务。但是,标准输入(STDIN)、标准输出(STDOUT)和标准错误(STDERR)依旧掺杂到控制台中。
$tar-czfhome.tar.gz.$$
如何在后台运行 Linux 命令并且将进程脱离终端如何在后台运行 Linux 命令并且将进程脱离终端
在后台开始一个 Linux 进程
你也可以直接使用符号 & 在后台运行一个进程:
$tar-czfhome.tar.gz.&$
如何在后台运行 Linux 命令并且将进程脱离终端如何在后台运行 Linux 命令并且将进程脱离终端
运行在后台的 Linux 进程信息

看一下下面的这个例子,虽然 tar 命令是作为一个后台任务开始的,但是错误信息依旧发送到终端,这表示,进程依旧和控制终端关联在一起。
$tar-czfhome.tar.gz.&$
如何在后台运行 Linux 命令并且将进程脱离终端如何在后台运行 Linux 命令并且将进程脱离终端
退出控制台之后,保持 Linux 进程的运行
我们将使用 disown 命令,它在一个进程已经运行并且被放在后台之后使用,它的作用是从 shell 的活动任务列表中移走一个 shell 任务,因此,对于该任务,你将再也不能使用 fg 、 bg 命令了。而且,当你关闭控制控制终端,这个任务将不会挂起(暂停)或者向任何一个子任务发送 SIGHUP 信号。
关闭终端之后,保持 Linux 进程运行
让我们看一下先下面的这个使用 bash 中内置命令 disown的例子。
$sudorsyncTemplates/*/var/www/html/files/&$$-h%1$
如何在后台运行 Linux 命令并且将进程脱离终端如何在后台运行 Linux 命令并且将进程脱离终端
关闭 shell 之后把 Linux 进程置于后台
你也可以使用 nohup 命令,这个命令也可以在用户退出 shell 之后保证进程在后台继续运行。
$nohuptar-czfiso.tar.gzTemplates/*&$
如何在后台运行 Linux 命令并且将进程脱离终端如何在后台运行 Linux 命令并且将进程脱离终端
从控制终端脱离一个 Linux 进程
为了彻底从控制终端脱离一个程序,对于图形用户界面 (GUI) 的程序例如 firefox 来说,使用下面的命令行格式会更有效:
$firefox/null&>/dev/null&
作为结束陈述,运行一个连接到控制终端的进程,作为用户你将会在你的终端上看到这个进程数据的许多行的输出,也包含错误信息。同样,当你关闭一个控制终端,你的进程和子进程都将会终止。
linux怎么打开程序
你先去学基础知识就行了,如果你不想学,那就最好改用 for windows 的版本……1、你在开始菜单里面找不到的程序,当然要用终端来运行,其实,可以用运行解决。 印象里打开运行菜单的快捷键是 alt + f2 。 你的开始菜单上面或许也有运行的功能,和Windows 的开始菜单,运行的作用一样,但 Linux 这个运行功能更多一些(看你用什么窗口管理器了)。 Linux 的程序是按照每个文件不同的性质放在不同的目录里。 这样程序之间的调用会方便很多,而且这也是 POSIX 定义的规范。 可以保证很好的兼容性。 所以你没有必要去找程序装在了什么地方。 直接运行就行了,系统会帮你找到需要的东西。 2、因为 Linux 的程序可以不可以执行,要看他是不是可以“运行”,这是一个权限设置,没有这个权限,就算他真的是个程序也不行。 有这个权限的文件就算不是程序,也可以运行,只不过系统运行他会出错而实际上不能运行(能运行的程序有特殊结构的)。 3、看你的是 KDE 还是 GNOME 了,都有菜单管理器。 印象里都是开始菜单上右键都有这个程序的启动项。 PS:Linux 下面用终端运行程序,关掉终端会一同关掉运行的程序是因为,Linux 下面,被终端运行的程序会成为终端的子进程。 子进程在父进程关闭而子进程没有经过特殊设置的时候,会被同时关闭。 这是系统的默认设置。 应该是一种保证系统资源稳定的设计,防止父进程已经退出,但子进程还在运行等父进程消息的这种情况,这样很浪费系统资源。 这种情况是服务器杀手,直接可以拖死服务器。
Linux中如何让进程(或正在运行的程序)到后
方法有很多,这里主要列举两种。 假如我们有程序,通过编译后产生可执行文件pso,我们要使pso在linux服务器后台执行。 当客户端关机后重新登入服务器后继续查看本来在终端输出的运行结果。 (假设操作都在当前目录下)方法1在终端输入命令:# ./pso > 2>&1 & 解释:将pso直接放在后台运行,并把终端输出存放在当前目录下的文件中。 当客户端关机后重新登陆服务器后,直接查看文件就可看执行结果(命令:#cat )。 方法2在终端输入命令:# nohup./pso > 2>&1 &解释:nohup就是不挂起的意思,将pso直接放在后台运行,并把终端输出存放在当前目录下的文件中。 当客户端关机后重新登陆服务器后,直接查看文件就可看执行结果(命令:#cat )。
ubuntu如何进入命令界面?
方法一:直接运行终端的可执行文件。 单击ubuntu桌面左侧启动器内部的主文件夹,然后单击文件系统,进入文件系统内部usr文件夹下的bin目录。 单击“搜索”标识,在搜索框内输入“gnome-terminal”然后按回车键。 在搜索结果中会出现“gnome-terminal”的可执行文件,双击即可打开终端。 操作过程如下图所示。 方法二:通过命令行打开终端。 在ubuntu系统中按Alt+F2快捷键打开命令输入框,输入“gnome-terminal”命令,然后按回车键即可打开终端。 方法三:使用快捷键:Ctrl+Alt+T打开终端。 在ubuntu系统中按:Ctrl+Alt+T即可打开终端,此方法是五种方法中最简便快捷的方法。 方法四:Dash主页打开终端。 单击Ubuntu桌面左上边的Dash主页图标,在搜索框内输入“ter”,然后在搜索结果内会出现终端的图标,然后单击终端图标即可打开终端。 操作过程如下图所示。 方法五:将终端图标锁定在右侧启动器,直接打开终端。 可以将终端通过拖拽的方式固定在桌面右侧的启动器上,通过单击启动器上的终端图标即可方便的打开终端。
发表评论