我有一些upload/download
ruby
脚本;我想在守护进程中运行这些脚本。当我在终端上运行ruby
脚本时,它会在该脚本开始执行后要求一些输入。所以现在我想使用守护进程运行这个脚本。但问题是我如何向脚本提供输入,以便它执行。
如果有一个解决方案,我们必须输入密码,然后守护进程可以继续运行而无需任何进一步的输入,直到您需要重新启动它,那就太好了。
如果不可能,那么最好将输入作为守护进程运行脚本(clockwork)的命令行参数。
答案1
守护进程通常在没有交互的情况下运行。鉴于存在如何提供您不想保留在守护程序的配置或启动文件中的密码的问题。
在这种情况下我所做的是:
- 让守护进程每隔 10 秒查找
/root/
一次没有密码的文件。每 10 分钟向系统日志写入其正在运行的信息,但无法继续。 - 守护程序有一个选项,使用时会提示输入密码并将密码写入正确的文件
- 文件存在后,守护程序将读取内容并删除该文件。
由于/root
其他人通常相对难以阅读,这对于我的设置来说足够安全。您可以检查权限/root
,如果没有,则拒绝写入文件700
。
如果在源中检查密码(而不是交给可能需要它们的某些程序),那么请确保其他人无法读取这些密码。