我看到很多地方都介绍screen
了稳定运行后台作业甚至注销。他们使用
screen -dmS name
Run Code Online (Sandbox Code Playgroud)
根据screen -h
,这个选项意味着
-dmS name 作为守护进程启动:分离模式下的屏幕会话。
什么是守护进程?我不明白。
我发现只要输入screen
,就可以自动进入屏幕。在我运行一些命令后,按Ctrl+a d
,然后注销。工作仍然运行良好。那么这个简单的方法可以吗?我真的需要-dmS
让后台工作稳定吗?
让我试着做一个总结:
任何在 screen 中运行的东西都可以安全地注销(但你应该分离屏幕,而不是在你注销时退出屏幕),无论你为 screen 设置了什么选项。
-dmS
只是在后台非迭代地提交作业的一个方便的选项。那是
screen -dmS nameOfScreen command
Run Code Online (Sandbox Code Playgroud)
Eri*_*ouf 12
仅-dm
当您想在屏幕会话中运行命令而不是交互式输入时才使用
-S
只是给会话一个可用的名称,以便您以后可以轻松地重新连接到它
如果您想以交互方式使用它并且不想给它一个人类可读的名称,您可以安全地省略所有这些参数。
例如,如果您只想启动screen
以运行命令,/path/to/longTime
并且不想看着它运行,您可以这样做
screen -dmS longSession /path/to/longTime
Run Code Online (Sandbox Code Playgroud)
或者你可以做
screen -S longSession
$ /path/to/longTime
Run Code Online (Sandbox Code Playgroud)
ctrlad
两者都可以完成同样的事情,但一个更容易编写脚本,而且输入更少。