The freaky thing (annoying) about zombies is that they don't or can't trap signals anymore. You find a defunct a.out because your program locked up somewhere, but you can't kill -9 it as it's already marked defunct. It gets even more freaky when the process you were trying to evict was a hung "mount" command, say due to a hung NFS mount point. You get fed up and kill the mount process, but you can't kill it as it's blocked in kernel space, the process disappears, you get your shell back, but the mount command stays as a defunct zombie for a while. Hung NFS mounts are evil.
This was a good one. I've been working through these for continuing education at work. Some of them are a little boring, just because I already know parts of all this (so that's no criticism - they'd be great for someone not familiar), but this one was on some details I hadn't delved into before. So thanks for a very clear presentation and keep up the great work! Stay safe!
Thanks for the video. However I believe your description of zombie process is wrong and you actually described an orphaned process. What are your thoughts?
So first, all processes are spawned via a fork call. The "official" UNIX definition is the one I use, even for Linux is: A process which has finished the execution but still has entry in the process table to report to its parent process is known as a zombie process. A child process always first becomes a zombie before being removed from the process table. The parent process reads the exit status of the child process which reaps off the child process entry from the process table.
I think the zombie process definition is not accurate. When a parent dies, its just a running orphan process which will be adopted by init. Zombie is when the child is already dead but it continues to use reasources - and the parent doesnt/canot do anything about it.
At 2.20ish you mentioned that each process will have a pid and this will be a number generated by the system. this number has a limit and then it will be recycled back through the numbers. can you please tell me what is that number (the limit) and also doco relating to that? Thank you. Your content is excellent, please keep going esp with Internals... :)
comment 2 @DJ Do you think you could do a video or so on how a protocol works with its functions on 2 machines(which is ultimately expanded beyond that)? Like when IP sends out to another device- what is the other side wating for or how does it know what to send back like which functions to use? Does that make sense? Or if you are familiar with BGP (and I'm sure you are) how would that work on a 'smile level' (even overly simplified)? Are those functions packed in the same 'while'/'for' loop or are they separate? How does the other device know which function to use to address what it is receiving and then send out (if necessary) and visa-versa? So basically 'how are they 'talking' to each other with knoledge of what they are saying/expecting? DJ, I was saying this for video stuff- not to have you literally writing it all here. I'm sure that would take a while to do Thank you
What happened to Part 1? After noticing that "Linux Internals - SysCalls" was the first in a _series_ of videos, I decided I would make a playlist to "binge-watch" later. I finally stopped procrastinating... creating the playlist, now. I recall seeing "...Part 1: Process Management" prior to today, but I cannot find it.
I bet you were looking for the video at the same time I was creating a playlist for them, the play list is called Linux Internals and should have all of them in there. Cheers
@@CyberGizmo: If only you had acted sooner. I've already created my own playlist. My procrastination could have yielded the pleasant surprise: someone else already took care of this. :-)
@@CyberGizmo: Uhh... it is absent from your playlist, too. I cannot find it by searching your channel. Perhaps you changed the privacy setting on that video?
These knowledge are the very thing I am hunger for as a sys admin. Please continue to share these deep talk of Linux.
Thanks DJ for sharing your knowledge in such a digestible way. You are an inspiration! Keep up the good work
@DJ This is good stuff. I don't know how old these videos are but this is definitely more the 'education' stuff for guys like myself.
The freaky thing (annoying) about zombies is that they don't or can't trap signals anymore. You find a defunct a.out because your program locked up somewhere, but you can't kill -9 it as it's already marked defunct. It gets even more freaky when the process you were trying to evict was a hung "mount" command, say due to a hung NFS mount point. You get fed up and kill the mount process, but you can't kill it as it's blocked in kernel space, the process disappears, you get your shell back, but the mount command stays as a defunct zombie for a while. Hung NFS mounts are evil.
Thank you for the series. Much appreciated.
Welcome Dimitar
This was a good one. I've been working through these for continuing education at work. Some of them are a little boring, just because I already know parts of all this (so that's no criticism - they'd be great for someone not familiar), but this one was on some details I hadn't delved into before. So thanks for a very clear presentation and keep up the great work! Stay safe!
Thank you, your clear explanation has given me peace.
I have an interview tomorrow and this is very helpful!
Good Luck with the interview
I am very much happy with the video...Thanks DJ Ware
Thank you for such a wonderful explanation..
Another great explanation, thank you!
Nice introduction Tasks relativ scheduled are the best processes
Sir thank you very much for this series. Very nice content . Very informative ..Appreciate
Most welcome
These videos are awesome! Helping me refresh concepts and prepare for interviews. Do you have a link to these slides?
Very informative. Thank you!
Much obliged.
👍👍- Gracias, senor!
Thanks for the video. However I believe your description of zombie process is wrong and you actually described an orphaned process. What are your thoughts?
So first, all processes are spawned via a fork call. The "official" UNIX definition is the one I use, even for Linux is: A process which has finished the execution but still has entry in the process table to report to its parent process is known as a zombie process. A child process always first becomes a zombie before being removed from the process table. The parent process reads the exit status of the child process which reaps off the child process entry from the process table.
@@CyberGizmo thanks for the super prompt reply. Appreciate it. And yes this definition sounds right.
I think the zombie process definition is not accurate. When a parent dies, its just a running orphan process which will be adopted by init. Zombie is when the child is already dead but it continues to use reasources - and the parent doesnt/canot do anything about it.
Awesome tutorials. Can you send a link to the slides ?
At 2.20ish you mentioned that each process will have a pid and this will be a number generated by the system. this number has a limit and then it will be recycled back through the numbers. can you please tell me what is that number (the limit) and also doco relating to that? Thank you.
Your content is excellent, please keep going esp with Internals... :)
Out of the 8 modules, which one should I start with and in what order?
They are all independent wanted to put them together so each one stood alone.
Great video
I was waiting to understand the difference between threads and processes, wish you talk about it
I see from the poll so far people want more on the internals so will put together a few more videos and will had you request to the list Abadallah.
@@CyberGizmo The internals are fascinating from your PoV
comment 2
@DJ
Do you think you could do a video or so on how a protocol works with its functions on 2 machines(which is ultimately expanded beyond that)? Like when IP sends out to another device- what is the other side wating for or how does it know what to send back like which functions to use? Does that make sense?
Or if you are familiar with BGP (and I'm sure you are) how would that work on a 'smile level' (even overly simplified)?
Are those functions packed in the same 'while'/'for' loop or are they separate? How does the other device know which function to use to address what it is receiving and then send out (if necessary) and visa-versa? So basically 'how are they 'talking' to each other with knoledge of what they are saying/expecting?
DJ, I was saying this for video stuff- not to have you literally writing it all here. I'm sure that would take a while to do
Thank you
What happened to Part 1? After noticing that "Linux Internals - SysCalls" was the first in a _series_ of videos, I decided I would make a playlist to "binge-watch" later. I finally stopped procrastinating... creating the playlist, now. I recall seeing "...Part 1: Process Management" prior to today, but I cannot find it.
I bet you were looking for the video at the same time I was creating a playlist for them, the play list is called Linux Internals and should have all of them in there. Cheers
@@CyberGizmo: If only you had acted sooner. I've already created my own playlist. My procrastination could have yielded the pleasant surprise: someone else already took care of this. :-)
@@CyberGizmo: Uhh... it is absent from your playlist, too. I cannot find it by searching your channel. Perhaps you changed the privacy setting on that video?
I see it marked public look for Process Management
Try this th-cam.com/video/Ip9P1XJt5PI/w-d-xo.html
Thanks, these in depth videos are so great! 👍 Didn’t know the word: “Zombie-Walk”, now I do 😀🖖
im on my way on backend, am i doing right being ended up here?
You're fine, I tried to put these together so you didnt have to do them in a particular order
25:03 , isn't it orphan process ?
en.wikipedia.org/wiki/Orphan_process
You are quite correct, Hari and thanks for catching that.
Thanks
gold
Hehe somehow you look some 20 years younger. The guru look was also ok though. 😉
who thought that process management was BPM (bussiness process management)?
Can you just image an BPM expert writing OS code omg
@@CyberGizmo hahaha i forgot the OS part, when researching
sir why u dont have any beard like long beard, thanks btw
hahah shaved it off long ago :)