Parfois, un programme est utilisé pour exécuter des commandes shell. Mais que se passe-t-il si j'exécute une commande comme top ou ping ? Ce type de commande ne se terminera pas directement, mais sera toujours exécuté. Comment puis-je obtenir son statut d’exécution et comment y mettre fin ?
top
和ping
这类的命令都有终止的选项可以用,如ping
的-c
指定发送包的次数,top
的-bn
Spécifiez le mode de sortie et les heures de sortie.Généralement, ce type de commande de sortie continue dispose déjà d'un contrôle de paramètre pour contrôler le nombre d'impressions. Par exemple, l'opération
.top
就是-n num
来指定打印num次, 而ping
则是通过-c num
来指定打印num次; 可以通过对应的选项, 来设置命令的执行次数, 如果命令不支持这样的选项控制, 那应该只能通过获取该进程的pid
, 然后通过kill
envoie un signal de fin pour terminer l'opérationTout d'abord, les commandes top et ping peuvent être terminées : appuyez sur q pour quitter la commande top et appuyez sur Ctrl-C pour quitter ping
Vous pouvez utiliser un sous-processus pour démarrer le programme shell, puis écrire des chaînes dans STDIN via PIPE, puis contrôler ces programmes shell.