En la página del manual killestá escrito de la siguiente manera
SINOPSIS
kill [ -s signal | -p ] [ -a ] [ -- ] pid ... kill -l [ signal ] -p Specify that kill should only print the process id (pid) of the named processes, and not send any signals.
Pero como lo intenté muchas veces en RH y RHEL, el comando kill -s SIGHUP |-p 123nunca funcionó y siempre se informa un error
bash: -p: comando no encontrado
¿Cometí algún error?
shell
kill
man
documentation
usuario43312
fuente
fuente

[]corchetes y lo reemplazósignalconSIGHUPypidcon123? ¿Por qué hiciste eso? Porque sabes que los símbolos[,signalypidson meta-sintácticos, en lugar de literales. Indican cuál es la sintaxis. Bueno, el|símbolo es lo mismo: otro indicador meta-sintáctico de sintaxis.[a | b]significa: elemento sintáctico opcional, que puede ser cualquieraaob(pero no ambos, ya que debe ser un elemento).[a | b]?Respuestas:
Esta sintaxis en una página de manual significa:
El pipe (
|) significa (exclusivo) o en la documentación, no es parte del comando.Cuando escribes
en su concha, que intentará arrancar
fooybar, y canalizar la salida defooalbarprograma. (Ese es el shell que hace eso, nofoo(obar), el|no se pasa a ninguno de los procesos). En su caso, la segunda parte es-p 123, por lo que el shell intenta encontrar un ejecutable llamado-py falla con ese mensaje de error.fuente
kill -p 123. Dicebash: kill: p: invalid signal specification. Ykill -p SIGINT 123dice lo mismo. No creo que haya lugar para poner la señal de acuerdo con la sintaxis. ¿Te importa si solo das una demostración del uso de la-popción?Creo que te estás tropezando por el hecho de que hay un comando incorporado para Bash llamado
kill, junto con el comandokill.La página del manual que está leyendo se refiere al
killcomando ubicado debajo/bin. Usa la ruta completa para invocarlo:Por cierto, el
/usr/bin/killes solo un enlace a/bin/kill.fuente