Hi Rodrigo,
Based on your direct message on LinkedIn I think you already found it, right?
RTOS Features->
Tasks & Scheduling->
[*] Support parent/child task relationship
I think the current behavior is expected for a POSIX / Unix SO, please
take a look:
http://morningcoffee.io/killing-a-process-and-all-of-its-descendants.html
BR,
Alan
On 5/28/21, Rodrigo Garcia <[email protected]> wrote:
> Hello all,
>
> My issue is related to testing the SIGKILL in Nuttx and not making it work
> correctly.
>
> Description:
> =========
> I am using a ESP32 DevKitC Board using default NSH configuration.
>
> 1) Enabled CONFIG_SIG_DEFAULT=y and CONFIG_SCHED_HAVE_PARENT=y
> 2) After starting the board, type "sh" + <enter> 3 times. Run "ps":
>
> nsh> sh
> nsh> sh
> nsh> sh
> nsh> ps
> PID PPID PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK
> COMMAND
> 0 0 0 FIFO Kthread N-- Ready 00000000 003072
> Idle Task
> 1 0 100 RR Task --- Waiting Signal 00000000 002096
> init
> 4 1 100 RR Task --- Waiting Signal 00000000 002096 sh
> 5 4 100 RR Task --- Waiting Signal 00000000 002096 sh
> 6 5 100 RR Task --- Running 00000000 002096 sh
>
> 3) kill the parent "sh" and try to run "ps"
> Result is a situation where it is very hard to type any command, as seen
> below:
>
> nsh> kill -9 4
> nsh> nsh>
> nsh>
> nsh> ps
> nsh: p: command not found
> nsh> sp
> nsh: ss: command not found
> nsh> ps
> nsh: pp: command not found
> nsh> ss
> nsh: ss: command not found
> nsh> pps
> nsh: p: command not found
> nsh> ps
> nsh: spsp: command not found
> nsh> sp
> nsh: ss: command not found
> nsh> sp
> PID PPID PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK
> COMMAND
> 0 0 0 FIFO Kthread N-- Ready 00000000 003072
> Idle Task
> 1 0 100 RR Task --- Ready 00000000 002096
> init
> 5 4 100 RR Task --- Waiting Signal 00000000 002096 sh
> 6 5 100 RR Task --- Running 00000000 002096 sh
>
> 4) As above, none of the children were killed... and I think that init (pid
> 1) and sh (pid 6) are both reading the console input, generating all those
> "sort of typing errors" above. I had to type "sp" to run "ps".
>
> Question:
> Do I need to set up some other option on menuconfig in order to kill the
> pid of the parent and all its children all together?
>
> Best Regards,
> Rodrigo Garcia.
>