Quel signal dois-je envoyer à un processus d'arrière-plan pour le déplacer au premier plan? SIGTTIN, SIGTOU ou ...?envoyer un signal à un processus d'arrière-plan
Répondre
gurudoglu. Je pense que la réponse de votre demande est ici:
merci FTIK. J'ai trouvé la réponse de ma question au premier lien: D –
bonne réponse - mais la question est encore fondamentalement fausse :) –
Aucun de ces signaux ne déplacera un processus au premier plan. SIGCONT provoquera la reprise d'un processus après qu'il a été SIGSTOP. Les SIGTT sont simplement livrés au processus lorsqu'ils essaient de lire ou d'écrire en arrière-plan. Ils ne mettent pas en avant le processus, en fait, leur action par défaut consiste simplement à arrêter le processus comme si vous aviez envoyé un SIGSTOP. SIGCONT doit toujours les faire fonctionner en arrière-plan ou les charger depuis le shell pour les mettre au premier plan. – paxdiablo
Il n'y a aucun moyen (dans tout système d'exploitation que je connaisse) d'utiliser un signal pour mettre un processus au premier plan.
Je crois que vous ne pouvez apporter un processus au premier plan en utilisant fg
Premier plan est pertinent que dans le contexte d'une console, et un signal ne peut pas dire le processus qui console de premier plan pour ...
je besoin d'un nom de signal :) –
il n'y a pas de nom de signal :) –
il n'y a pas de cuillère :-) – paxdiablo
Ce ne sont pas les signaux qui contrôlent directement si les travaux sont de premier plan ou d'arrière-plan. Les emplois sont sous le contrôle d'une coquille (généralement).
Par exemple, sous bash
, si vous exécutez:
pax> sleep 3600 &
pax> jobs
vous verrez une sortie comme:
[1]+ Running sleep 3600 &
Ensuite, vous pouvez apporter ce travail de retour au premier plan en utilisant:
pax> fg %1
sleep 3600
(et les attentes du terminal).
En utilisant CTRLZne envoyer un signal au processus (SIGSTOP
), ainsi que de le mettre dans l'arrière-plan, mais le seul signal qui peut changer qui est SIGCONT
(pour continuer):
pax> fg %1
sleep 3600
^Z
[1]+ Stopped sleep 3600
pax> jobs
[1]+ Stopped sleep 3600
pax> kill -CONT %1
pax> jobs
[1]+ Running sleep 3600 &
cela demandera au processus de commencer à courir à nouveau, mais il n'a pas mettre au premier plan. Pour cela, vous avez besoin de la commande fg
. Il est probablement préférable de penser aux signaux (qui affectent le processus) et au premier plan/arrière-plan (qui affectent le shell qui a démarré le processus en déterminant s'il l'attend, entre autres choses) séparément.
vous pouvez continuer un processus suspendu envoyer un signal en C comme ceci: kill (1453, SIGCONT); J'ai besoin du nom du signal qui peut déplacer un processus d'arrière plan au premier plan comme SIGCONT. :) –
Il n'y en a pas. Simple et simple. Premier plan/arrière-plan n'est pas un attribut du processus, c'est un attribut du * shell * qui a démarré le processus. Le shell contrôle cet aspect. Vous pouvez envoyer le SIGCONT pour démarrer un processus (s'il a été arrêté avec SIGSTOP) mais il n'y a pas de signal qui permette à un processus de se forcer au premier plan parce qu'il n'a tout simplement pas cette puissance. – paxdiablo
@gurudoglu - C'est comme essayer de téléphoner à un diffuseur de télévision et lui demander d'allumer votre téléviseur. Il n'y a pas de numéro pour ça. Heureusement ... –
En supposant que vous êtes sur Unix et a commencé le processus à partir d'un shell que vous pouvez taper les éléments suivants
- Arrêt Process ::^Z
- processus Déplacer en arrière-plan :: bg
- Reculer en avant-plan :: fg
- 1. Envoie un signal à un processus dans valgrind?
- 2. Comment envoyer un signal à un processus pop-up en Perl?
- 3. comment envoyer un signal à la page Web
- 4. comment envoyer le signal d'un programme à un autre?
- 5. Quand un processus obtient-il SIGABRT (signal 6)?
- 6. Comment envoyer un signal à la JVM créée par l'appel JNI_CreateJavavm?
- 7. Comment enregistrer un modèle sans envoyer de signal?
- 8. Comment envoyer un signal d'arrêt pour arrêter une application Rails?
- 9. Comment envoyer des arguments à un processus déjà démarré?
- 10. Envoyer un événement de clavier à l'aide du sous-processus
- 11. Envoyer une entrée clavier à un processus en cours linux
- 12. Utiliser un sous-processus pour envoyer un mot de passe
- 13. signal lorsque l'utilisateur tue le processus?
- 14. Implémenter un signal userEdited à QDateTimeEdit?
- 15. Connexion à un signal masqué par QMessageBox
- 16. Qt envoyer le signal à la fenêtre principale de l'application
- 17. PHP comment envoyer le signal USR1 à traiter?
- 18. Comment trouver qui envoie le signal sigterm à mon processus ou à mon groupe de processus?
- 19. Transmission de signal aux processus gérés à l'aide du superviseur
- 20. Comment générer un signal série à partir d'une chaîne?
- 21. Comment créer un nouveau signal dans pygtk
- 22. In Vb Comment envoyer un message Terminate à un autre processus en cours?
- 23. comment envoyer du texte à un processus dans un script shell?
- 24. Envoyer un message à un processus Windows (pas sa fenêtre principale)
- 25. Comment diffuser un signal dans Qt4
- 26. Envoyer un SMS à un port mobile
- 27. Envoyer un fichier à un socket
- 28. Envoyer un message à un objet
- 29. Comment envoyer un message à un objet?
- 30. Comment envoyer un message à un service?
Quel cadre, etc? Beaucoup plus d'informations nécessaires ici. –