In my c++ code I handle signals and everything works fine. However, when I launched it by nohup in standard way, kill not working, I have to kill it with -9. Launching /proc/PID/status before kill state is S (Sleeping), after kill I received:
State: T (tracing stop)
3 Tgid: 21280
4 Pid: 21280
5 PPid: 1
6 TracerPid: 1
25 SigPnd: 0000000000000000
26 ShdPnd: 0000000000004000
27 SigBlk: 00007f06782a1000
28 SigIgn: 0000000000000001
29 SigCgt: 0000000180004006
It seems to me that the issue is in being traced by another process (state changed), because proper signals are enabled. It is traced by init. I don't know why, because other processes don't behave in such way, I mean: they aren't traced and are killed by kill command.
Thank You for any suggestions.