Чтобы запустить nginx, нужно выполнить исполняемый файл. Когда nginx запущен, им можно управлять, вызывая исполняемый файл с параметром -s. Используйте следующий синтаксис:
nginx -s сигнал
также применяется в kill
kill -s QUIT 1628
и в ln -s file1 lnk1* — создать символическую ссылку на файл или директорию
ln file1 lnk1 — создать «жёсткую» (физическую) ссылку на файл или директорию
но в последнем случае разница ясна, такой синтаксис, а в первых двух непонятно - ведь они и без -s работают, так зачем же этот параметр?
В любой команде UNIX могут быть совершенно произвольные ключи. Их смысл целиком и полностью задается разработчиком. Разработчик может дать им какое угодно название, части ключей дать короткие имена, а части длинные, использовать стандарт GNU (--keyname=keyvalue) или же getopt (-keyname=keyvalue), а то и вовсе стандарт DOS (/keyname:keyvalue) - и ничего тут не поделаешь :) Внутри неких крупных проектов (например GNU) есть некое внутреннее соглашение о формировании параметров, ключей и т.д., но общего соглашения среди всех разработчиков нет и быть не может :)
В POSIX есть описание того, какие должны быть опции. Суть такая, что короткие опции должны быть такими, чтобы их можно было складывать, причём в любой позиции. Вот эту особенность не соблюдает wget, например, потому что там есть опция -nc, которая уже не может быть разложена на -n и -c. Классические же программы соблюдают стандарт.
abcd0x00: Если разработчик желает сделать свою программу POSIX-совместимой, он ее делает. Не желает - не делает. И убедить, а тем более заставить его это сделать - нет никакой возможности :)