Differences

This shows you the differences between two versions of the page.

doc:techref:procd [2013/07/11 20:15]
lorema
doc:techref:procd [2013/12/22 20:45] (current)
valentt history moved to the bottom, really now :)
Line 1: Line 1:
-====== procd (process management daemon) – Technical Reference ====== 
-  * [[http://nbd.name/gitweb.cgi?p=luci2/procd.git;a=summary|Project's git]] 
-  * procd is available in OpenWrt since [[https://dev.openwrt.org/changeset/34865|r34865 (trunk)]]. It consists of files under GPLv2, LGPLv2.1 and ISC licenses. 
-  * [[https://dev.openwrt.org/search?q=procd&noquickjump=1&changeset=on|commits to OpenWrt trunk regarding procd]] 
- 
-==== History ==== 
-  * [[https://dev.openwrt.org/changeset/34865|r34865: procd: add initial implementation]] 
-  * [[https://dev.openwrt.org/changeset/34866|r34866: base-files: add basic procd integration, let procd start (and restart) ubus instead of having an ubus init script]] 
-  * [[https://dev.openwrt.org/changeset/34867|r34867: dropbear: convert init script to procd]] 
-  * [[https://dev.openwrt.org/changeset/36003|r36003: base-files: make basefiles aware of procd]] 
-  * [[https://dev.openwrt.org/changeset/36005|r36005: busybox: make init and logread depend on !PROCD_INIT]] 
-  * [[https://dev.openwrt.org/changeset/36446|r36446: hotplug2: make it depend on !PROCD_INIT]] 
-  * [[https://dev.openwrt.org/changeset/36896|r36896: procd: make the preinit rules wildcard all buttons for failsafe]] 
-  * [[https://dev.openwrt.org/changeset/36987|r36987: hotplug2: procd does the hotplugging now]] 
-  * [[https://dev.openwrt.org/changeset/36998|r36998: base-files: procd is now the init process]] 
-  * [[https://dev.openwrt.org/changeset/36999|r36999: base-files: diag does not need to insmod any drivers, procd already did it for us]] 
-  * [[https://dev.openwrt.org/changeset/37000|r37000: base-files: input/button drivers get loaded before preinit by procd]] 
-  * [[https://dev.openwrt.org/changeset/37002|r37002: base-files: /etc/init.d/rcS is no longer needed, procd handles this for us now]] 
-  * [[https://dev.openwrt.org/changeset/37039|r37039: busybox: disable syslogd/klogd by default, procd replaces them]] 
-  * [[https://dev.openwrt.org/changeset/37106|r37106: busybox: disable the watchdog utility by default (procd handles watchdog devices)]] 
-  * [[https://dev.openwrt.org/changeset/37242|r37242, 37243, 37244: busybox: convert telnet, crond and sysntpd init scripts to procd]] 
-  * [[https://dev.openwrt.org/changeset/37245|r37245: dropbear: register a config.change trigger: procd_add_config_trigger "dropbear" "/etc/init.d/dropbear" "restart"]] 
-  * [[https://dev.openwrt.org/changeset/37249|r37429: procd: add proto and trigger support to the /etc/init.d/log]] 
- 
- 
==== What is procd? ==== ==== What is procd? ====
''procd'' is the new OpenWrt [[wp>Process (computing)|process]] management daemon written in [[wp>C (programming language)|C]]. It keeps track of processes started from init scripts (via ubus calls), and can suppress redundant service start/restart requests when the config/environment has not changed. ''procd'' is the new OpenWrt [[wp>Process (computing)|process]] management daemon written in [[wp>C (programming language)|C]]. It keeps track of processes started from init scripts (via ubus calls), and can suppress redundant service start/restart requests when the config/environment has not changed.
Line 51: Line 26:
- and of course all that without adding unnecessary bloat. AFAIK there are no alternatives to procd. - and of course all that without adding unnecessary bloat. AFAIK there are no alternatives to procd.
-==== Dependencies of procd ==== +{{page>meta:infobox:construction&noheader&nofooter&noeditbtn}} 
-  * ''[[http://nbd.name/gitweb.cgi?p=luci2/libubox.git;a=summary|libubox]]'' (~ 12KiB) is a general purpose library which provides things like an event loop, binary blob message formatting and handling, the Linux linked list implementation, and some JSON helpers. The functions in ''libubox'' are used to write the other software in [[http://luci.subsignal.org/trac/browser/luci2|luci2]], like e.g. ubus +====== procd (process management daemon) – Technical Reference ====== 
-  * ''[[http://nbd.name/gitweb.cgi?p=luci2/ubus.git;a=summary|ubus]]'' (~ 13KiB) is an RPC daemon similar to dbus but with a much friendlier C API+  * [[http://nbd.name/gitweb.cgi?p=luci2/procd.git;a=summary|Project's git]] 
 +  * procd is available in OpenWrt since [[https://dev.openwrt.org/changeset/34865|r34865 (trunk)]]. It consists of files under GPLv2, LGPLv2.1 and ISC licenses
 +  * [[https://dev.openwrt.org/search?q=procd&;noquickjump=1&changeset=on|commits to OpenWrt trunk regarding procd]]
 +===== OpenWrt – operating system architecture =====
 +{{page>doc:techref:architecture&noheader&nofooter}}
-Whereas desktop distributions use [[wp>GLib|glib]] and [[wp>D-Bus|dbus]] (and [[wp>udev]]) OpenWrt uses [[http://nbd.name/gitweb.cgi?p=luci2/libubox.git;a=summary|libubox]] and [[http://nbd.name/gitweb.cgi?p=luci2/ubus.git;a=summary|ubus]] (and [[https://dev.openwrt.org/browser/trunk/package/hotplug2|hotplug2]])+==== History ==== 
-This provides some pretty awesome functionality without requiring huge libraries with huge dependencies (*cough* glib).+  * [[https://dev.openwrt.org/changeset/34865|r34865: procd: add initial implementation]] 
 +  * [[https://dev.openwrt.org/changeset/34866|r34866: base-files: add basic procd integration, let procd start (and restart) ubus instead of having an ubus init script]] 
 +  * [[https://dev.openwrt.org/changeset/34867|r34867: dropbear: convert init script to procd]] 
 +  * [[https://dev.openwrt.org/changeset/36003|r36003: base-files: make basefiles aware of procd]] 
 +  * [[https://dev.openwrt.org/changeset/36005|r36005: busybox: make init and logread depend on !PROCD_INIT]] 
 +  * [[https://dev.openwrt.org/changeset/36446|r36446: hotplug2: make it depend on !PROCD_INIT]] 
 +  * [[https://dev.openwrt.org/changeset/36896|r36896: procd: make the preinit rules wildcard all buttons for failsafe]] 
 +  * [[https://dev.openwrt.org/changeset/36987|r36987: hotplug2: procd does the hotplugging now]] 
 +  * [[https://dev.openwrt.org/changeset/36998|r36998: base-files: procd is now the init process]] 
 +  * [[https://dev.openwrt.org/changeset/36999|r36999: base-files: diag does not need to insmod any drivers, procd already did it for us]] 
 +  * [[https://dev.openwrt.org/changeset/37000|r37000: base-files: input/button drivers get loaded before preinit by procd]] 
 +  * [[https://dev.openwrt.org/changeset/37002|r37002: base-files: /etc/init.d/rcS is no longer needed, procd handles this for us now]] 
 +  * [[https://dev.openwrt.org/changeset/37039|r37039: busybox: disable syslogd/klogd by default, procd replaces them]] 
 + * [[https://dev.openwrt.org/changeset/37106|r37106: busybox: disable the watchdog utility by default (procd handles watchdog devices)]] 
 +  * [[https://dev.openwrt.org/changeset/37242|r37242, 37243, 37244: busybox: convert telnet, crond and sysntpd init scripts to procd]] 
 +  * [[https://dev.openwrt.org/changeset/37245|r37245: dropbear: register a config.change trigger: procd_add_config_trigger "dropbear" "/etc/init.d/dropbear" "restart"]] 
 +  * [[https://dev.openwrt.org/changeset/37249|r37429: procd: add proto and trigger support to the /etc/init.d/log]] 
 +  * [[https://dev.openwrt.org/changeset/37336|r37336: procd: make old button hotplug rules work until all packages are migrated]]

Back to top

doc/techref/procd.1373566530.txt.bz2 · Last modified: 2013/07/11 20:15 by lorema