$ nohup --version nohup (GNU coreutils) 9.3 $ uname -a Linux achar-void 6.5.12_1 #1 SMP PREEMPT_DYNAMIC Mon Nov 20 18:31:50 UTC 2023 x86_64 GNU/Linux
This is on void, but it also behaves the same on fedora-38 I have extracted a minimal example - it looks like a stupid thing to do but it demonstrates the problem. A full and non-stupid script is at https://gitlab.com/wef/dotfiles/-/blob/master/bin/fzf-launcher Nevertheless - the following commands are run from bash in a graphical session. 'foot' is a terminal emulator - any terminal emulator can be used - I have tried mrxvt, urxvt, alacritty. 'imv' is a simple program that opens a window. Anything else with a .desktop file could be used, such as 'rofi' or 'xsane'. $ foot -e bash -c "nohup gtk-launch imv &" ... fails - the program imv briefly opens a window and immediately closes $ foot -e bash -c "nohup gtk-launch imv & sleep 3" .... the 'imv' window shows but it is closed after 3 seconds - clearly the program 'imv' starts but is killed by something when the script terminates. $ foot -e bash -c "trap '' HUP; nohup gtk-launch imv &" ... works perfectly - the 'something' that is killing imv is apparently the HUP signal! So why does nohup not grant immunity to HUP?