Ho uno script, che devo eseguire dopo aver eseguito il commit su un progetto con git revision control. Quindi ho creato un-commit dopo gancio nei miei progetti .git directory nella sottodirectory/ganci, la chiamarono 'post-commit' e ha dato i seguenti contenuti:Git post-commit hook come attività in background
#!/bin/sh
# I am a post-commit hook
/usr/local/bin/my_script &
mio_script è eseguibile e funziona bene in/bin/sh. In effetti ha un tempo di esecuzione di diversi secondi, quindi voglio che sia in background e staccato dalla shell corrente. Ecco perché ho inserito il trattino "&" nel mio hook.
Il problema ora è che il '&' sembra essere ignorato. Quando eseguo il commit usando gitx 0.7.1 sotto OSX Lion, gitx si blocca esattamente per il periodo che my_script deve eseguire.
Ho provato molto, ma non riesco a ottenere il processo stesso in background.
Cosa c'è di sbagliato qui?
David, nel frattempo ho trovato un approccio simile: nohup/usr/local/bin/my_script 2> & 1>/dev/null & – GeorgieF
Non è esattamente la risposta corretta, ma guiderà alcune persone: considera l'implementazione di un demone reale. Se nel ruby puoi usare i demoni o leggere le basi di ciò che dovresti fare in questa descrizione di come funziona un demone in unix: http://daemons.rubyforge.org/Daemons.html –