In output of the ps command like the one below (kthreadd,ksoftirqd,kworker) , i can see that there are some processes that don't have an executable file and i find out that's because they are kernel threads so why we treat some kernel threads as processes or make them looks like process ? and what does this number after the thread name mean ? and can we kill these threads from user space by sending a signal for example?root         2     0  0 Nov30 ?        00:00:00 [kthreadd]root         3     2  0 Nov30 ?        00:00:03 [ksoftirqd/0]root         5     2  0 Nov30 ?        00:00:00 [kworker/0:0H]root         7     2  0 Nov30 ?        00:00:41 [rcu_sched]
Why kernel threads are treated as processes
linux;process;linux kernel;process management