- kthreadd (pid = 2) created by kernel (pid = 0) during boot
- kthreadd helps in creating other kernel threads which are required to run periodically/asynchronously
- "ps" shows kernel threads
- Everything under [square bracket] are kernel threads
sw0:FID128:root> ps -eaf
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 01:21 ? 00:00:00 init [5]
root 2 0 0 01:21 ? 00:00:00 [kthreadd]
root 3 2 0 01:21 ? 00:00:00 [ksoftirqd/0]
root 4 2 0 01:21 ? 00:00:00 [kworker/0:0]
- All calls from user-space to create a new process (including "create_thread" in kthreadd), will end up in do_fork call which internally calls copy_process