2009-04-27 69 views
1

中的正在运行的进程我昨天通过MacPorts的应用程序进行升级,该应用程序耗时约4个小时。 在终端的一个标签中看到安装过程正在进行,这令人非常烦恼。无法隐藏终端

问题:隐藏正在运行的进程中terminalsuch,它并不需要的空间在我的工作区

我今天发现,在击4新的命令coproc:

协进程是在子shell异步执行 ,仿佛命令 执行壳和协进程之间建立

我不确定你是否可以用它来解决问题。我没有设法使用它。

如何隐藏正在运行的进程,以便它在终端中不可见,但它会继续运行?

+0

可能是最好的,当时间来到这个移动到ServerFault ... – dmckee 2009-04-27 15:08:24

+0

@dmckee:哦,serverfault,你指的是新的网站,该网站称在6周内开放? – 2009-04-27 15:12:13

+0

@Jérôme:那将是一个。这是一个很好的问题,但似乎更多的是“如何运行计算机”。比编程与我有关。 – dmckee 2009-04-27 15:58:27

回答

4

您是否认为Ctrl + Z暂停进程,然后bg在后台运行该进程?

要从终端分离进程,可以输入disown。您现在可以关闭终端,甚至关闭您的会话。

这里的问题是输出将反正出现在bash中。

您还可以在screen开始您的程序。该命令提供了一种简单的方法来启动程序,关闭控制台并稍后检索它。

2

我怀疑你正在寻找的nohup

nohup LongRunningNoisyProgram & 

将运行程序,输出记录到文件中,所以你看不到它,推程序到背景,并不会取消如果您在终端运行时退出终端,则为程序。

0

至少有一件事其他repliers没有涵盖:如何管理隐藏进程

假设您有100个使用“nohup find/&”创建的后台进程。你想退出他们真正看到后台进程如何工作。请使用以下命令:

ps -ej | awk '! /grep/ && /find/ {print $2}' | xargs kill -9 

然后,您可能想知道如何控制密钥以隐藏进程。你可以将其更改为p,其中停赛代表CTRL + Z(^ Z):

stty的停赛p

你可以看到这里的键:

的stty -a

请比较更改前后的stdouts。该命令特别有用,因为它有助于记住其他命令,如^ W(删除一个单词)。

杰罗姆有一个关于屏幕的优秀技巧。我强烈建议追求的方向:

http://www.commandlinefu.com/commands/matching/screen/c2NyZWVu/sort-by-votes