0

我的 make serve 命令使用 make serve 运行我的 jupyter-book

codio@anita-doctor:~/workspace/Introduction-to-Data-Science/IntroBook$ make serve
bundle exec guard
Configuration file: _config.yml
15:21:53 - INFO - Jekyll building...
15:21:54 - INFO - Jekyll build completed in 0.75s /home/codio/workspace/Introduction-to-Data- 
Science/IntroBook → _site
15:21:54 - INFO - Jekyll watching and serving using jekyll at 0.0.0.0:4000/jupyter-book
15:21:54 - INFO - Jekyll watching
15:21:54 - INFO - LiveReload is waiting for a browser to connect.
15:21:54 - INFO - Guard is now watching at '/home/codio/workspace/Introduction-to-Data- 
Science/IntroBook'
Server address: http://0.0.0.0:4000/jupyter-book/
Server running... press ctrl-c to stop.
/home/codio/anaconda/lib/ruby/gems/2.6.0/gems/guard-2.14.2/lib/guard/jobs/pry_wrapper.rb:279: 
warning: method Pry#input_array is deprecated. Use Pry#inp
ut_ring instead
[1] guard(main)>

所以我尝试使用这个 nohup 命令在后台运行它

 codio@anita-doctor:~/workspace/Introduction-to-Data-Science/IntroBook$ nohup make serve >/dev/null 
 2>&1 &
 [2] 2135
 [1]   Done               nohup make serve < /dev/null > /dev/null 2>&1

此命令或命令类型通常不执行任何操作。我相信我可能很接近。但是, nohup 命令似乎不允许 ruby​​ 'make serve' 命令工作。我的目标是在后台托管服务器,就像我在第一行代码中使用我的 ubuntu 框中的 make serve 命令所做的那样。任何帮助,将不胜感激。

4

1 回答 1

0

我发现 nohup 可能有点问题。最好将您的服务器设置为服务(如 mysqld、sshd 等)或使用“at”来启动它。如果该命令在您在前台运行时有效(没有 nohup),那么使用“at”运行它会起作用,因为它将当前环境应用于命令并且具有“atd”作为父进程,当您运行时不会消失注销(有时会在尝试重新分配父进程时破坏 nohup):

at now
at> make serve >>/var/log/rubyserver.log 2>&1
at> ^D
于 2019-11-19T15:50:10.000 回答