微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

运行分离的屏幕会话但在同一个bash中没有终止

这里已经有很多这样的问题了,但是每个人都推荐(以下的解决方案)以下解决方案:
screen -dmS somename bash -c "/path/to/script; bash -l"

例如当脚本结束时,运行一个新的bash.

不幸的是,这对我不起作用,因为

>该脚本使用$BASHPID变量
>脚本运行永远运行,例如需要用CTRL-C终止它
>并且终止后我必须拥有与运行脚本相同的shell(相同的$BASHPID)

所以,问题是:

>如何以分离模式启动屏幕(例如,在启动时) – 通常由-dm完成
>它必须启动shell

>最好,如果它可以作为“登录”shell启动,例如什么读取我的.profile,但这可以通过脚本本身的源〜/ .profile来克服
>脚本启动一些其他(二进制)程序将运行到CTRL-C

>并且在脚本终止之后我必须获得相同的bash(使用相同的$BASHPID(因为需要运行另一个脚本,这取决于它)

总之需要模拟以下互动工作:

>开始屏幕
> echo $BASHPID
>在屏幕内运行一些命令(最后一个命令运行直到CTRL-C) – 例如运行/ path / to / script
>分离(ctrl-a d)

经过上述,以后,我可以做到

>重新连接(屏幕-ARR)
> CTRL-C
>并且可以继续…同样的
> echo $BASHPID #will产生与上面相同的内容

任何的想法? (考虑-X但它不起作用,某处我可能犯了错误)

看起来
the answer here
是给你的用例.简而言之:
bash --init-file <(echo "yourcommand")

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐