Pregunta

Ejecuto el siguiente código sin éxito

sudo killall %4

donde% 4 es mi sesión de Vim.

¿Cómo puede terminar un trabajo sin ponerlo en primer plano?

¿Fue útil?

Solución

Creo que quieres " matar " en lugar de " killall " ;. He probado bajo tcsh de esta manera:

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

Además, dudo que esto funcione con sudo porque sudo invocaría un nuevo shell, ¿no? Y en ese shell,% 4 no se definiría.

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

Si realmente necesitas sudo, puedes intentar esto:

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

Otros consejos

Pruebe kill% 4 en su lugar. El shell de Unix usa% x como variables para los procesos actualmente en ejecución. Para ver los procesos que puede usar con la sintaxis% x, use jobs . Killall es un envoltorio alrededor de " matar " eso es básicamente el equivalente de `ps -aux | grep | cortar -f2 -d " " | xargs kill 'o similar si eres un shell junky.

No, lo siento, ese comando de shell no funcionará, pero ilustra cómo funciona killall = p. Simplemente elimina todos los procesos que pueden coincidir con la cadena que proporciona.

También, intente `man kill 'para aprender más sobre kill. Particularmente, matar -9 puede ser útil. Es como el equivalente de 'forzar la salida'.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top