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 <rpgar...@gmail.com> 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.
>

Reply via email to