Запуск экрана (команда Unix) + выполнение команды в 1 команде?

Задавался вопросом, как я могу запустить команду, такую как:

while :; do ./myCommand; done;

Но вместо того, чтобы делать обычное

screen -S nameOfMyScreen

Затем команда

while :; do ./myCommand; done;

Затем отсоедините экран

^a ^d (Control "a" the control "d"

Я хотел бы, чтобы это запустилось и отсоединилось.Спасибо!

8
задан Drew Stephens 2 November 2010 в 22:05
поделиться

2 ответа

[
screen -d -m sh -c "while :; do ./myCommand; done;"
] [

]Explanation:[

] [
    ] [
  • ][]-d -m[] запускает экран в отдельном режиме (создайте сеанс, но не прикрепляйте к нему)[
  • ]. [
  • ][]sh -c командная строка [] запускает оболочку, которая выполняет данную командную строку (необходимо, так как вы используете [] при [] сборке).[
  • ] [
]
10
ответ дан 5 December 2019 в 12:58
поделиться
[

] С экрана -h []-h[] это выглядит полезным:[

] [
-dmS name     Start as daemon: Screen session in detached mode.
-X            Execute <cmd> as a screen command in the specified session.
] [

]Я сам этого не делал, но с этого бы и начал.[

] [

][][]Обновление:[][][

] [

]В верхней части справки также написано[

] [
Use: path/to/screen [-opts] [cmd [args]]
] [

]так что переключатель []-X[] может быть для выполнения команды экрана []-H[], а не команды оболочки []-H[]. Возможно, Вы сможете просто поставить свою команду после команды []-dmS <имя>[] без переключателя []-X[].[

].
3
ответ дан 5 December 2019 в 12:58
поделиться
Другие вопросы по тегам:

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