我有一个脚本,我需要在提交到 git 版本控制下的项目后运行该脚本。因此,我在我的项目 .git 目录中的子目录 /hooks 中创建了一个 post-commit 挂钩,将其命名为“post-commit”,并为其提供以下内容:
#!/bin/sh
# I am a post-commit hook
/usr/local/bin/my_script &
my_script 是可执行的并且在 /bin/sh 中运行良好。事实上,它的运行时间只有几秒钟,所以我希望它能够在后台运行并与当前 shell 分离。这就是为什么我把尾随的“&”放在我的钩子上。
现在的问题是,'&' 似乎被忽略了。当我在 OSX Lion 下使用 gitx 0.7.1 提交时,gitx 挂起的时间正是 my_script 需要运行的时间。
我尝试了很多,但不要让进程本身进入后台。
这里有什么问题?