2015-08-10 1 views
1

J'ai deux sites utilisant le framework Laravel. J'ai besoin d'utiliser une commande pour traiter les files d'attente. Pour cela j'utilise nohup.Comment identifier deux commandes nohup identiques?

Cependant, j'ai besoin d'exécuter deux commandes nohup identiques pour le faire fonctionner en arrière-plan pour les deux sites Web différents. Le problème est que parfois je n'ai besoin d'arrêter qu'une seule commande pour la maintenance. Comment identifier quelle commande nohup appartient à un site Web particulier? Puis-je utiliser un identifiant de nom dans la commande nohup?

enter image description here

Répondre

2

Vous pouvez utiliser -E l'argument de cli de php, ce qui vous permet de spécifier le code à exécuter « après » le reste du script est terminé, et ce code supplémentaire pourrait être juste un commentaire PHP, vous permettant d'intégrer ID informations:

sudo nohup php -E '//job #x' artisan etc... 
        ^^^^^^^^---raw php code, no <?..?> required 

Comme il est juste un commentaire, il ne fait rien faire, et vous pouvez formater le commentaire à contenir toutes les informations d'identification que vous voulez.

+0

Merci, cela fera l'affaire :) – TivBroc

0

Witch $! vous pouvez obtenir le PID du dernier processus d'arrière-plan. Enregistrez-le dans un fichier tel que echo $! > processA.pid, puis utilisez ce PID pour arrêter le processus souhaité.