Фоновая работа прекращается - PullRequest
0 голосов
/ 01 августа 2011

Я написал простую программу bash.Я хочу запустить его как фоновый процесс.Но это останавливается.Я не хочу, чтобы это произошло.Пожалуйста, помогите

/#!/bin/bash  

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

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

[19] + Stopped / tmp / command

Объяснение выходных данных:
Строки 1 и 0 являются выходными данными, и этот выход долженбудет отображаться каждые 5 секунд, что я и хочу.
Что происходит: после отображения строк 1 и 0, управление зависает, я нажимаю ввод, я получаю сообщение Остановлено.Пожалуйста, помогите мне избавиться от этого.

1 Ответ

1 голос
/ 02 августа 2011

первая строка вашего скрипта:

/#!/bin/bash 

на самом деле должно быть:

#!/bin/bash 

Я предполагаю, что это была просто опечатка при публикации вашего вопроса (но вы можете проверитьэто, на всякий случай).Теперь, если я заменю «command1» на ls -las, это сработает для меня:

#!/bin/bash

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

обратите внимание, что я изменил вашу «command1» только на ls.

так что же такое "command1"?Ваша работа может быть остановлена, если этой "command1" нужен ввод stdin (только один из случаев)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...