現在,サーバー端でホストプログラムを起動し,ssh ログインを終了した後にこのプログラムが動作し続けることを望む場合,公式の方法は次のとおりです.
nohup ./robot -s node.fmz.com/xxxxx -p yourFMZPasswork &
しかし,このやり方は非常に安全ではない.パスワードは,起動命令に明示的に入力される。他のログインサーバがps -auxを使用して現在の起動プロセスを参照すると,このパスワードが見られる。
ホストプログラム自体にはインタラクティブ入力パスワードがサポートされており,./robot -s node.fmz.com/xxxxxプログラムがパスワードを入力します.
しかし,この方法は,ssh の nohup を終了する必要のある場合に有効ではありません.nohup ./robot -s node.fmz.com/xxxxxプログラムが正しく起動できませんでした.
コマンド文にパスワードを明示的に書かせてほしいと頼むことなく,Nohupで管理者プログラムを起動する方法はありますか?
发现可以用screen来替代nohup功能。具体步骤如下:
screen -S yourScreenName // 创建一个screen,并赋予一个名字。之后会进入一个screen里面。
./robot -s node.fmz.com/xxxxx
输入密码
ctrl+z //将当前程序暂停运行,并放置到后台
bg // 将后台程序恢复运行
ctrl+a d // detach当前screen,回到原来进入screen前的界面。这时就可以安全退出ssh登录,同时能保持screen里面运行的程序继续运行。
下次再登录后,使用 screen -r yourScreenName 来重新进入上次的scree。
- 1

