linux - 在 Linux 中重新启动文件更改进程

标签 linux shell

是否有一个简单的解决方案(使用通用的 shell 实用程序,通过大多数发行版提供的实用程序,或一些简单的 python/... 脚本)在某些文件更改时重新启动进程?

如果像 watch -cmd "./the_process -arg"deps/* 这样简单地调用某物会很好。

更新: 一个简单的 shell 脚本和建议的 inotify-tools(很好!)符合我的需要(适用于不带参数的命令):

#!/bin/sh
while true; do
  $@ &
  PID=$!
  inotifywait $1
  kill $PID
done

最佳答案

是的,您可以使用 inotifywait 或来自 inotify-toolsinotifywatch 通过 inotify 系统监视目录.

inotifywait 将在检测到事件时退出。传递选项 -r 以递归方式查看目录。示例:inotifywait -r mydirectory

您还可以指定要监视的事件而不是监视所有事件。要仅等待文件或目录内容更改,请使用选项 -e modify

关于linux - 在 Linux 中重新启动文件更改进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12264238/

相关文章:

linux - Bash 脚本模式匹配

linux - 尝试比较 shell 脚本中的字符串时出错

mysql - phpmyadmin (linux) 删除 mysql SQL 查询窗口中的反引号

linux - 为什么在这种情况下输出重定向不起作用?

shell - Fish:遍历字符串

windows - BASH:确定脚本是从虚拟机(Ubuntu)还是W10 bash应用程序调用的?

linux - 如何在 upstart 脚本中使用多个 exec 命令?

linux - 将文件添加到perl中的压缩文件夹

python - 使用命令行参数打开 Python 文件

shell - 如何在不关闭运行脚本的ssh/telnet session 的情况下退出shell脚本