我经常这样做:如何从正在运行的进程中分叉?
$ gitk &
启动程序(在这种情况下象gitk
,但无论哪`吨),并返回到shell提示符继续在同一个shell工作。在你写完之后你会如何处理它
$ gitk
没有&
?是否有像^z
这样的组合键,将进程置于后台但不中断它?
我经常这样做:如何从正在运行的进程中分叉?
$ gitk &
启动程序(在这种情况下象gitk
,但无论哪`吨),并返回到shell提示符继续在同一个shell工作。在你写完之后你会如何处理它
$ gitk
没有&
?是否有像^z
这样的组合键,将进程置于后台但不中断它?
如果您已经启动了没有&
的进程,它将在前台运行。按Ctrl+Z
将停止该过程,然后输入命令bg
以在后台恢复过程执行。
每次调用外部程序时,如ls
或gitk
或其他,请执行fork
。在Bash中运行&
的程序不仅仅是一个分支。它创建一个在后台运行的新进程组。
Ctrl + z通常具有在后台将作业置于停止状态的效果(使用信号),请使用bg
重新启动。我说“通常”,因为它可以改变,使用stty
。要列出您的终端设置(并查看其他魔术Ctrl键),请尝试stty -a
。
后台作业的一个特点是,他们通常不能访问键盘,但可以访问屏幕。这可能与其他输出混合,因此您可以使用stty tostop
来防止它。这项工作必须带到前台才能使用屏幕,或使用stty -tostop
。工作使用fg
带到前台。
请注意,您可以有许多后台作业,请通过键入jobs
来查看它们。某些命令(包括fg
,bg
和kill
)采用可选的作业编号(前缀为%
)。
感觉有点无结构,但很多有价值的信息,thx! – erikbwork 2013-02-11 14:28:32
@ erikb85:非结构化?哪一部分?我认为它是非常有条理的,但也许这是因为它在25年以来一直保持不变。 – cdarke 2013-02-11 17:03:27
我的意思是你的文本看起来有点非结构化,因为它包含了很多信息。更像是面对面交谈的引用,然后是网站上的描述性答案。但在阅读了两遍之后,我明白了,现在就可以使用它。 – erikbwork 2013-02-13 12:19:23