J'écris un script Perl et j'ai besoin d'exécuter Unix Ctrl + Z sur le script. Comment puis-je le faire en Perl?Comment Ctrl-Z dans le script Perl
merci.
J'écris un script Perl et j'ai besoin d'exécuter Unix Ctrl + Z sur le script. Comment puis-je le faire en Perl?Comment Ctrl-Z dans le script Perl
merci.
De perl vous pouvez envoyer des signaux aux processus avec la fonction kill, qui a le même nom que la commande Unix outil de ligne qui fait la même chose. L'équivalent à Ctrl +Z est en cours d'exécution
kill -SIGTSTP pid
vous devez savoir quelle valeur numérique votre signal TSTP a sur votre système. Vous devez faire cela en exécutant
kill -l TSTP
sur la ligne de commande. Disons que cela renvoie 20
Ensuite, dans votre script Perl, vous devez ajouter
tuer 20 => $$;
qui enverra le signal TSTP à l'ID de processus en cours d'exécution ($$)
Mise à jour: comme décrit par daxim, vous pouvez sauter la partie 'kill -l' et indiquez le nom du signal directement:
kill 'TSTP' => $$;
Dans bash ctrl +z arrête le travail en cours et met en arrière-plan avec% JobId vous pouvez revenir à ce travail. Je ne suis pas sûr de ce que vous voulez dire que je pensais que ctrl +z est pris par bash ..
Je veux que le script envoie le bash pour mettre un travail spécifique en arrière-plan. –
Voulez-vous envoyer un processus déjà en cours en arrière-plan ou le démarrer en arrière-plan? – Ether