Question

Je lance le code suivant sans succès

sudo killall %4

où% 4 correspond à ma session Vim.

Comment terminer un travail sans le mettre au premier plan?

Était-ce utile?

La solution

Je pense que vous souhaitez "tuer". au lieu de "killall". J'ai testé sous tcsh comme ceci:

home% cat
^Z
Suspended
home% kill %1
home% 
[1]    Terminated                    cat

De plus, je doute que cela fonctionne avec sudo car sudo invoquerait un nouveau shell, n'est-ce pas? Et dans ce shell,% 4 ne serait pas défini.

home% cat
^Z
Suspended
home% sudo kill %1
Password:
kill: illegal process id: %1

Si vous avez vraiment besoin de sudo, vous pouvez essayer ceci:

home% jobs -l
[1] + 26318 Suspended cat
home% sudo kill 26318

Autres conseils

Essayez plutôt kill% 4 . Le shell unix utilise% x en tant que variables pour les processus en cours d'exécution. Pour voir les processus que vous pouvez utiliser avec la syntaxe% x, utilisez jobs . Killall est une enveloppe autour de & kill; kill " c'est essentiellement l'équivalent de `ps -aux | grep | couper -f2 -d " " | xargs kill 'ou similaire si vous êtes un shell junky.

Non, désolé, cette commande shell ne fonctionnera pas tout à fait, mais elle illustre bien le fonctionnement de killall = p. Il tue simplement tous les processus qui correspondent à la chaîne que vous fournissez.

Essayez également "man kill" pour en savoir plus sur le kill. En particulier, kill -9 peut vous être utile. C'est en quelque sorte l'équivalent de "forcer à quitter".

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top