Bash
關於 disown 內置選項 -h 的 Bash 文件說明
根據文件:
為防止 shell 向特定作業發送 SIGHUP 信號,應使用 disown 內置函式將其從作業表中刪除, 或使用 disown -h 將其標記為不接收 SIGHUP。
https://www.gnu.org/software/bash/manual/html_node/Signals.html
注意引號中的OR。
我可以確認簡單地使用
disown
without-h
並重新記錄該過程沒有退出:#!/bin/bash ( sleep 10s; echo 1 > b ) & disown
看來這個
-h
選項是沒有必要的?如果它沒有工作,那麼它的目的是什麼?
如果沒有
-h
工作,則從活動工作表中刪除,沒有工作-h
。一切都在手冊中:
disown [-ar] [-h] [jobspec ...] (...) If the -h option is given, each jobspec is not removed from the table, but is marked so that SIGHUP is not sent to the job if the shell receives a SIGHUP.
要查看
jobs
有無-h
.