gpt4 book ai didi

linux - 如何将填充命令发送到启动分离 screen ?

转载 作者:IT王子 更新时间:2023-10-29 01:17:43 27 4
gpt4 key购买 nike

我以“-d -m”开始的任何 session 都不接受“-X stuff [...]”命令,除非我至少连接到 screen 一次。没有错误消息,只是命令没有通过。

问题是我从 cron 作业启动 session ,但无法从 cron 内附加到 screen 。

要重复的步骤

$ screen -m -d -S mydaemon bash
$ screen -S mydaemon -X stuff "`printf "exit\\r"`"
$ screen -ls
32456.mydaemon (Detached)
$ screen -r -S mydaemon
$ ^a d
$ screen -S mydaemon -X stuff "`printf "exit\\r"`"
$ screen -ls
No Sockets found in /var/run/screen/S-user

^a d 表示按 Ctrl+a 然后按 d。

版本

CentOS release 5.5 (Final)
Screen version 4.00.03 (FAU) 23-Oct-06

最佳答案

编辑:这个问题的最佳答案是this other SO answer .无论如何,我将我的笨拙解决方案留在这里,以防它激发对类似问题的解决方案。


一个可能的解决方法是使用第二个已经运行并分离的 screen session 来启动要在附加模式下向其发送“stuff”命令的 screen session ,然后向该 screen session 发送一个分离命令,然后填充命令。

$ screen -dmS spawner
$ screen -S spawner -X screen screen -dR mydaemon
$ sleep 1 # may be necessary
$ screen -S mydaemon -X detach
$ screen -S mydaemon -X stuff "whatever"

(注意:加倍的“screen ”不是拼写错误!)你仍然留下了一个无法填充的 screen session (spawner),但如果它占用的资源很重要,你总是可以使用“kill -TERM ..."或它的同类来终止它(或者让它在一定时间后自动退出,方法是用类似

的东西启动它
$ screen -dmS spawner bash -c "sleep 60"

或类似的)。

关于linux - 如何将填充命令发送到启动分离 screen ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4440633/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com