Antecedentes
Estoy ejecutando un servidor SSH y tengo este usuario que quiero eliminar. No puedo eliminar a este usuario porque actualmente está ejecutando algunos procesos que primero debo eliminar.
Este es el canal que estoy usando actualmente para encontrar todos los identificadores de proceso del usuario que estoy usando actualmente:
ps -u user | awk '{print $1;}'
El resultado se ve así:
PID
2121
2122
2124
2125
2369
2370
Quiero canalizar esto para kill -9
matar todos los procesos para poder eliminar a este estúpido usuario como este:
ps -u user | awk '{print $1;}' | sudo xargs kill -9
Pero esto no funciona debido al PID
encabezado:
kill: failed to parse argument: 'PID'
La pregunta
Estoy pensando que tiene que haber un simple comando de Unix para eliminar la primera línea de entrada.
Soy consciente de que puedo usar tail
esto, pero no quiero contar cuántas líneas contiene la entrada para determinar exactamente cuántas quiero mostrar.
Estoy buscando algo como head
o tail
invertido (en lugar de mostrar solo la primera / última parte de la transmisión, muestra todo menos el inicio / final de la transmisión).
Nota
Logré resolver este problema que tenía simplemente agregando | grep [[:digit:]]
después de mi awk
comando, pero todavía estoy buscando una forma de eliminar la primera línea de un archivo, ya que creo que sería bastante útil en otros escenarios.
awk
comando).
NR
por ejemploawk 'NR>1 {print $1;}'
. Mejor aún: usepgrep -u
opkill -u