在 CLI 上,有时我输入的命令需要一段时间才能完成,有时我知道什么时候会发生。我对 Linux 中的“背景”等有些困惑。
告诉 CLI 我不想等待的最常见(或用户友好的方式)是什么,请立即给我回提示。如果它能给我一个进度条或只是忙碌的微调器,那就太好了!
我经常发现自己处于以下位置:我已经开始在 bash 提示符下键入一个长命令,但是中途我发现我需要用另一个命令检查某些内容。当我在控制台(没有 X)时,这是一个问题,通常是这种情况,因为那时我只有以下不满意的方法来做到这一点,我知道:
所以我想知道的是,有没有更优雅的方法来做到这一点?一种子shell命令或类似的?
我对不需要任何准备或设置即可工作的方法最感兴趣。
Ctrl+Z停止作业,而Ctrl+C杀死的工作。
这是为什么?另一种方式不是更有意义吗?
z@z-lap:~$ sleep 100&
[1] 4458
z@z-lap:~$ sleep 200&
[2] 4459
z@z-lap:~$ jobs
[1]- Running sleep 100 &
[2]+ Running sleep 200 &
z@z-lap:~$ fg %1
sleep 100
^Z
[1]+ Stopped sleep 100
z@z-lap:~$ jobs
[1]+ Stopped sleep 100
[2]- Running sleep 200 &
z@z-lap:~$ fg %1
sleep 100
^C
z@z-lap:~$ jobs
[2]+ Running sleep 200 &
Run Code Online (Sandbox Code Playgroud) 如果我想从终端(linux、ubuntu)运行应用程序,我该怎么做才能使终端仍然可用,或者如果我关闭终端,应用程序仍然可以运行。
说你这样开始工作
foo
Run Code Online (Sandbox Code Playgroud)
然后希望你想把它放在背景中。键入Ctrl+Z然后bg就可以了,但会foo在Ctrl+Z和之间冻结bg。如何在不先冻结的情况下将 foo 放在后台?
假设您运行的命令需要一些时间才能返回,并希望在执行后执行不同的命令,但您没有提前计划。
我知道可以选择按Ctrl + Z然后提交fg && otherCommand。但是,这有两个主要缺陷:
command1 && command2或command1; command2)的组合,则它不起作用,因为第一个提交的行的后续命令不会被执行。我也知道你可以在执行一个命令时输入下一个命令,然后点击Enter它。但是,这也有两个主要缺陷:
stdin.在执行一个命令时,是否有一种快速的方法可以将更多命令排队,可能涉及使用特殊的终端仿真器或多个终端?