【问题标题】:Background job getting stopped后台作业停止
【发布时间】:2011-08-01 19:34:14
【问题描述】:

我编写了一个简单的 bash 程序。我想将它作为后台进程运行。但它正在停止。我不希望这种情况发生。请帮忙

/#!/bin/bash  

while [ 1 ]; do  
command1 | cut -f 3  
sleep 5;  
done  

OUTPUT:  
Linux# /tmp/program &  
[19] 20162  
Linux# Line 1  
0  

[19]+ 已停止 /tmp/command

输出说明:
第 1 行和第 0 行是输出,此输出应每 5 秒显示一次,这是我想要的。
发生了什么:显示第 1 行和第 0 行后,控制挂起,我按 Enter,我收到 Stopped 消息。请帮我摆脱这个。

【问题讨论】:

    标签: process background


    【解决方案1】:

    脚本的第一行:

    /#!/bin/bash 
    

    实际上应该是:

    #!/bin/bash 
    

    我认为这只是发布您的问题时的一个错字(但您可能想检查一下,以防万一)。现在,如果我用 ls -las 替换“command1”,它对我有用:

    #!/bin/bash
    
    while [ 1 ]; do
    ls -las | cut -f 3
    sleep 5;
    done
    

    请注意,我只用 ls 更改了您的“command1”。

    那么“command1”到底是什么?如果“command1”需要输入标准输入(只是其中一种情况),您的工作可能会停止

    【讨论】:

    • 谢谢。实际上,正如您所指出的,这是我的命令1。我试过 ls -la 它也有效。再次感谢! :)
    猜你喜欢
    • 2017-10-17
    • 2013-07-11
    • 1970-01-01
    • 2012-11-22
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多