|
1 | 1 | # NodeOS Init |
2 | 2 |
|
3 | | -The init deamon, typically `/sbin/init`, is a long-lived process started by the kernel during boot. |
4 | | -The init daemon is responsible for starting system daemons such as `sshd`, `getty`, and `dhcp`. |
| 3 | +The init process, typically `/sbin/init`, is a long-lived process started by the kernel during boot. |
| 4 | +Init is responsible for starting system daemons such as `sshd`, `getty`, and `dhcp`. |
5 | 5 |
|
6 | 6 | On Ubuntu the init daemon is **Upstart**. |
7 | 7 | Upstart, like most init daemons, has the concept of a system runlevel numbered 0-5. |
@@ -65,62 +65,3 @@ The next command effectively decides what order to boot system daemons in. |
65 | 65 | The `npkg` command defined in `nodeos-npkg` provides a nice interface between init |
66 | 66 | and NodeJS packages installed on the system. |
67 | 67 |
|
68 | | -``` |
69 | | -init -- npkg start boot-system |
70 | | -
|
71 | | -+--------+ |
72 | | -| | |
73 | | -| init | |
74 | | -| | |
75 | | -+--------+ |
76 | | - | +--------+ <--+ |
77 | | - | run command | | | |
78 | | - +--------------------------->| npkg | | |
79 | | - | `npkg start boot-system` | | | |
80 | | - | +--------+ | |
81 | | - | | | |
82 | | - | | | |
83 | | - | use http api to start | | |
84 | | - |<-------------------------------+ | these processes |
85 | | - | nodejs package `boot-system` |-- exit after setup |
86 | | - | | |
87 | | - | +--------+ | |
88 | | - | run npm start on | | | |
89 | | - +--------------------------->| | | |
90 | | - | package `boot-system` | | | |
91 | | - | +--------+ | |
92 | | - | | | |
93 | | - | | | |
94 | | - | use http api to start | | |
95 | | - |<-------------------------------+ <--+ |
96 | | - | other system daemons |
97 | | - | |
98 | | - | +--------+ <--+ |
99 | | - | | | | |
100 | | - +---------------------->| dhcp | | |
101 | | - | | | | |
102 | | - | +--------+ | |
103 | | - | | |
104 | | - | +--------+ | |
105 | | - | | | | these processes |
106 | | - +---------------------->| getty | |-- are long-lived |
107 | | - | | | | system daemons |
108 | | - | +--------+ | |
109 | | - | | |
110 | | - | +--------+ | |
111 | | - | | | | |
112 | | - +---------------------->| sshd | | |
113 | | - | | | |
114 | | - +--------+ <--+ |
115 | | -``` |
116 | | - |
117 | | -The NodeOS equivalent of a runlevel is the boot packaged run by the first `npkg` command. |
118 | | -Init runs as the root user, and resolves packages from `/root/lib/node_modules`. |
119 | | - |
120 | | -## Roadmap |
121 | | - |
122 | | -While not intended for initial release, there are a number of things I want to do with init around streaming: |
123 | | - |
124 | | -1. event streams via [Server Sent Events](http://www.html5rocks.com/en/tutorials/eventsource/basics/) |
125 | | -2. streaming HTTP for stdio |
126 | | -3. ad-hoc io redirection (a processes STDIO can be redirected without restarting the process) |
0 commit comments