Запуск команды в режиме демона экрана

Я пытаюсь запустить команду в экранном режиме, используя команду

screen -dmS screen_name sed -i 's/a/b/'g some-file.txt

Ничего не происходит. Когда я помещаю ту же команду в скрипт и запускаю команду:

screen -dmS screen_name bash -c /path/to/script

Это работает. У меня вопрос, могу ли я запустить команду в режиме демона без необходимости сначала помещать ее в сценарий? По сути, мне нужна эта функция демона, потому что она помогает запускать несколько команд параллельно, выполняя несколько команд sed для больших файлов параллельно, создавая каждую команду на отдельном демоне экрана, который автоматически завершается после завершения программы. Благодаря

3
задан 22 April 2015 в 12:55

2 ответа

Я предполагаю, что проблема с-S, при попытке опустить-S опцию, это должно, работать, даже без удара-c, так попробуйте это

screen -dm sed -i 's/a/b/'g some-file.txt

Это должно работать. Экран BTW не обновляется, необходимо рассмотреть переключение на tmux. Это может предоставить Вам намного больше функций.

Можно установить tmux путем ввода:

sudo apt-get install tmux

Таким образом, Ваш код должен быть похожим:

tmux new-session -d -s foo 'sed -i 's/a/b/'g some-file.txt'

Я мог протестировать его с

tmux new-session -d -s hello 'top'

если Вы вводите

tmux attach -t hello

Это возьмет Вас к сессии с вершиной. Надеюсь, что это помогает. проверить

man tmux

для всех функций и проверки здесь на всестороннюю шпаргалку

3
ответ дан 22 April 2015 в 22:55

Это работает на Вас?

screen -dmS screen_name bash -c "sed -i 's/a/b/'g some-file.txt"
2
ответ дан 22 April 2015 в 22:55

Другие вопросы по тегам:

Похожие вопросы: