¿`Kill -p` realmente funciona?

En la página del manual de kill está escrito como sigue

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 tanto en RH como en RHEL, el command como kill -s SIGHUP |-p 123 nunca funcionó y siempre se informa un error

bash: -p: command no encontrado

¿Cometí algún error?

 kill [ -s signal | -p ] 

Esta syntax en una página de manual significa:

Puedes usar kill -s signal o puedes usar kill -p , pero no puedes usar tanto -s como -p al mismo time.

El tubo ( | ) representa (exclusivo) o en la documentation, no es parte del command.

Cuando escribes

 foo | bar 

en su shell, intentará iniciar foo y bar , y canalizar la salida de foo al progtwig de bar . (Eso es lo que hace el shell, no foo (o bar ), el | no se pasa a ninguno de los processs.) En su caso, la segunda parte es -p 123 , por lo que el shell intenta encontrar un ejecutable llamado -p y falla con ese post de error

Creo que te estás tropezando con el hecho de que hay un command incorporado a Bash llamado kill , junto con el command kill .

 $ type -a kill kill is a shell builtin kill is /usr/bin/kill kill is /bin/kill 

La página man que está leyendo hace reference al command kill ubicado debajo de /bin . Usa la ruta completa para invocarlo:

 $ /bin/kill -p sleep 16486 

Por cierto, /usr/bin/kill es solo un enlace a /bin/kill .

 $ ls -l /usr/bin/kill lrwxrwxrwx 1 root root 14 Feb 9 2011 /usr/bin/kill -> ../../bin/kill $ readlink -m /usr/bin/kill /bin/kill