代码之家  ›  专栏  ›  技术社区  ›  EpicDewd

启动屏幕(unix命令)+在1个命令中运行命令?

  •  8
  • EpicDewd  · 技术社区  · 15 年前

    想知道如何启动命令,例如:

    while :; do ./myCommand; done;
    

    但不是像往常一样

    screen -S nameOfMyScreen
    

    然后命令

    while:;do./mycommand;done;完成;
    

    然后拆下屏幕

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

    我想让它开始分离。谢谢!

    2 回复  |  直到 11 年前
        1
  •  10
  •   Heinzi    15 年前
    screen -d -m sh -c "while :; do ./myCommand; done;"
    

    说明:

    • -d -m 以分离模式启动屏幕(创建会话但不附加到该会话)
    • sh -c commandline 启动执行给定命令行的shell(必要时,因为您正在使用 while 建筑)
        2
  •  3
  •   Mike Seplowitz    11 年前

    screen -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 开关可以执行 屏幕 命令,而不是 命令。你可能只需要把你的命令放在 -dmS <name> 没有任何 -X 开关。