Я соглашаюсь с тем, что D_Bye говорит о нахождении корня проблемы.
Так или иначе, чтобы проверить, содержит ли файл только \0
и/или \n
Вы могли использовать tr
:
<file tr -d '\0\n' | wc -c
Который возвращается 0 для пустого указателя/новой строки и пустых файлов.
На основе пути Вы описываете свою проблему, это кажется, что Guassian все еще имеет некоторые связи с оболочкой, от которой это было порождено.
Одна дополнительная вещь Вы могли попробовать в дополнение к nohup
должен работать disown -a
также, хотя это должно сделать то же самое разъединения всех порожденных процессов от получения SIGHUP.
Другая мысль состояла бы в том, чтобы вызвать Guassian как это.
Это могло бы изолировать Guassian от того, чтобы быть завершенным, когда локальная машина теряет соединение.
Я столкнулся с приложениями, подобными этому также, и, а не ударяю по моей голове на столе слишком много, я обычно просто достигаю screen
и/или tmux
и запущенный приложение в удаленной системе в Экране.
Это защищает процесс лучше и обладает дополнительным преимуществом способности снова соединиться с ним позже.
Это должно лучше отсоединить Ваше приложение:
nohup ${PATH_OF_APPLICATION}/app </dev/null >/dev/null 2>&1 &
Если это все еще не работает по некоторым причинам, попробуйте:
echo ${PATH_OF_APPLICATION}/app | at now
at
метод. В этой точке я присоединил бы strace к программе и видел бы то, что продолжается.
– Patrick
26.11.2013, 08:25
at
не получает исполняемый файл, работающий вообще. Мне нужно высокое полномочие? Я - нормальное некорневое.
– SOUser
26.11.2013, 15:04
disown -a
послеnohup
команда помогла! – SOUser 07.12.2013, 19:18