Zack's Kernel News

Video-4-Linux Docs Made XHTML Compliant

Németh Márton updated the V4L documentation to be XHTML compliant. A benefit of this is that the file can be parsed and any useful data snarfed into some other application. I'm not sure whether any other applications would have use for that, but Németh has made the possibility available.

Tracking Pesky Daemons

Scott James Remnant has written a bit of code to shed some light on daemon behavior. Currently, a process daemonifies by forking a child and then exiting. The child is then reparented to the init process (the parent of all processes), where the child detaches itself from the terminal that invoked the daemon. The child then forks again and exits, essentially leaving a grandchild of the original process. This grandchild is reparented to the init process and performs all the tasks ofthe daemon. This happens every time you invoke a daemon: Fork, fork, and the resulting child sits on the system as a child of init.

The problem Scott wanted to address was that this daemon has been so completely disconnected from the process that started it, there is no way for init to associate it with that process. When the daemon dies, init will have no way of knowing that this was the process associated with the invocation that happened earlier. Among other issues, this makes it difficult to create meaningful system logs. It would be nice to be able to go through the logs and see the different parts of a service all logged together.

One way Scott found to keep track of the relationships between the original process and the daemon it leaves behind is to have init do a ptrace() on all processes; however, this has a number of drawbacks, including security issues, as well as causing some software to change its behavior precisely because it's running in ptrace()! No good.

The solution Scott proposes is to create a couple of new signals, specifically to handle this reparenting-to-init situation, that will carry information to init about the lineage of the children being reparented to it. Scott says this wouldn't require any changes to user code or cause software to behave differently under Linux than it would under other operating systems; it would just keep track of the reparenting side of things in a way that lets init associate child processes with their dead parents.

64-Bit Systems

Nick Warne has been running Slamd64 (, an x86 64-bit system, for a while and thought that the time was ripe for a new framebuffer boot logo for the system. He submitted his own creation: Sadly, it wasn't tremendously well received. Some folks just didn't like it, whereas others had logos of their own to suggest. Markus Reichelt posted a link to his own creation at: Folks reaching consensus didn't seem likely, but it does help illustrate the progress of 64-bit x86 systems lately.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Bootchart

    Bootchart analyzes the boot process and tells you where the system is wasting time.

  • Optimizing System Startup

    Today's Linux systems boot faster than ever, but many users still get impatient waiting for that first glimpse of desktop. These tweaks will help you get a faster start from the bootloader and kernel.

  • AuFS

    AuFS offers a painless filesystem for a thin client, and FS-Cache provides a persistent cache.


    Klaus Knopper is the creator of Knoppix and co-founder of the LinuxTag expo. He currently works as a teacher, programmer, and consultant. If you have a configuration problem, or if you just want to learn more about how Linux works, send your questions to: klaus@linux-magazine. com

  • Working with the Kernel

    If you work with third-party hardware drivers, or even if you just need to fix a broken system, someday you might need to upgrade the Linux kernel.

comments powered by Disqus

Direct Download

Read full article as PDF:

072-073_kernel_NEU01.pdf (193.70 kB)