【问题标题】:Automatically restart server on file change文件更改时自动重启服务器
【发布时间】:2019-12-08 21:47:13
【问题描述】:

我想运行一个 simple-http-server(一个阻塞命令)并让它在 Linux 上的指定文件更改时自动重启。 像这样的:

hotreload -w src/ -w index.html simple-http-server

每当目录src 或文件index.html 更改时重新启动命令。

linux 有这样的命令吗?我只找到了 npm 的扩展和非常低级别的 inotify API

【问题讨论】:

    标签: linux web-services command hot-reload


    【解决方案1】:

    cargo watch实际上是Rust构建工具cargo的插件,但它可以监视任何文件,也可以运行shell命令:

    cargo watch -w src/ -w index.html -s "./start_server.sh &"
    

    start_server.sh 脚本应包含如下内容:

    kill $(pidof simple-http-server) # kill any running instances to free up port
    simple-http-server
    

    因为当服务器仍在后台运行时,新实例将无法访问该端口。

    这将运行-s "…" 指定的命令,并在-w 监视的任何文件或目录发生变化时重新运行它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-16
      • 2014-03-22
      • 2019-02-13
      • 1970-01-01
      • 1970-01-01
      • 2020-08-21
      • 2019-05-07
      • 1970-01-01
      相关资源
      最近更新 更多