Вы не только отвечаете на свой вопрос, ссылка, которую вы добавили в конце, также отвечает на ваш вопрос.
Когда процесс останавливается, вся обработка сигналов прекращается, за исключением SIGCONT и SIGKILL -, которые на практике обрабатываются операционной системой.
Это означает, что SIGHUP может быть обработан только после возобновления процесса, что происходит, когда SIGCONT получен и обработан, поэтому, даже если вы отправляете SIGHUP, за которым следует SIGCONT, они будут обрабатываться в обратном порядке.
Теперь, на практике, ядро, отправляющее SIGHUP раньше, приведет к меньшему количеству действий, выполняемых процессом между обработкой SIGCONT и обработкой SIGHUP, так как второй уже поставлен в очередь для обработки.
Это зависит -от локали. man sort включает:
*** WARNING *** The locale specified by the environment affects sort order.
Set LC_ALL=C to get the traditional sort order that uses native byte values.
Вы можете установить это только для одной команды, например:
... | LC_ALL=C sort...