Git post-commit hook作为后台任务

Geo*_*ieF 21 git shell post-commit sh gitx

我有一个脚本,我需要在git版本控制下提交项目后运行.因此,我在子目录/ hooks中的项目.git目录中创建了一个post-commit钩子,将其命名为'post-commit',并为其提供了以下内容:

#!/bin/sh
# I am a post-commit hook
/usr/local/bin/my_script &
Run Code Online (Sandbox Code Playgroud)

my_script是可执行的,在/ bin/sh中运行良好.实际上它有几秒钟的运行时间,所以我希望它是背景和从当前shell分离.这就是为什么我把尾随'&'放到我的钩子上.

现在的问题是,'&'似乎被忽略了.当我在OSX Lion下使用gitx 0.7.1时,gitx会在my_script需要运行的时间段内挂起.

我尝试了很多,但是没有让流程本身进入后台.

这有什么不对?

小智 14

这是它对我有用的方式:

#!/bin/sh
# I am a post-commit hook
nohup /usr/local/bin/my_script &>/dev/null &
Run Code Online (Sandbox Code Playgroud)