Joachim Wiberg
c9ae96bcf7
doc: status of processes now shown in initctl status foo
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-10 16:31:25 +02:00
Joachim Wiberg
5955110e67
Revert "Travis-CI: disable gcc for coverity scan run"
...
This reverts commit 4cfc8fec0e .
2021-04-10 16:26:56 +02:00
Joachim Wiberg
4191e15c77
Travis-CI: adjust install dir, plain /tmp gets crowded
...
Calling `tree /tmp` causes too long execution time and Travis timing out
the job. So let's install to a sane directory.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-10 16:25:39 +02:00
Joachim Wiberg
d60baa2b80
initctl: logically dead code, found by Coverity Scan
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-10 15:59:13 +02:00
Joachim Wiberg
a50bc331db
Fix possible string truncation, found by Coverity Scan
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-10 15:56:44 +02:00
Joachim Wiberg
eff4453de9
initctl: add missing comma in signames[], found by Coverity Scan
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-10 15:54:11 +02:00
Joachim Wiberg
4cfc8fec0e
Travis-CI: disable gcc for coverity scan run
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-10 12:06:46 +02:00
Joachim Wiberg
c9e1c2f80f
initctl: show exit status/signaled like systemctl
...
- Show if exited/signaled
- Show status code and the std /NAME
- Show signal value and the std /NAME
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-10 11:51:29 +02:00
Joachim Wiberg
93039e40cc
initctl: usability improvements to ls/edit family of commands
...
- List /etc/finit.conf
- Allow edit of /etc/finit.conf, using finit/finit.conf or NULL
- Add helpful question to edit /etc/finit.conf if no edit arg.
- Show available files if delete has no arg, like disable
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-10 08:56:26 +02:00
Joachim Wiberg
015a52a20d
sample.conf: update with cgroup help and examples
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-09 19:52:12 +02:00
Joachim Wiberg
d53cc8bfe7
doc: Fix run/task/service cgroup config syntax
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-09 19:51:47 +02:00
Joachim Wiberg
3c4eca60b7
initctl: fix restart of run/tasks, stuck in DONE state
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-09 19:51:03 +02:00
Joachim Wiberg
c85e28b971
Yield execution in forked children back to PID 1
...
- Speeds up start-up a bit
- Ensures the child is moved to its cgroup as soon as possible
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-09 18:59:33 +02:00
Joachim Wiberg
d373068619
exec: only log when starting getty, not before
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-09 18:58:53 +02:00
Joachim Wiberg
997f3d7862
cgroup: fix possible NULL pointer deref.
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-09 18:58:32 +02:00
Joachim Wiberg
f12f53692e
cgroup: allow adding self (PID 0) to a leaf group
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-09 18:58:11 +02:00
Joachim Wiberg
b921b8cf0f
cgroup: run all ttys, except rescue sh, in getty cgroup until login
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-09 18:32:31 +02:00
Joachim Wiberg
61781c72fe
cgroup: Call ifupdown in system cgroup
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-09 18:21:04 +02:00
Joachim Wiberg
3b5cfc5ecf
test: drop checksef.sh from EXTRA_DIST, generated now
...
Also, silence generation of checkself.sh
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-09 18:05:02 +02:00
Joachim Wiberg
a42a789d29
Refactor, clean up removed top-level cgroups
...
The main purpose of this patch is to remove top-level cgroups when they
are remvoed from finit.conf. However, this is tricky, becasue there may
still be supervised services (and children of them) running. We must
postpone removal until a cgroup.events change. To make matters worse,
events may arrive out-of-order, i.e. the last-child event for the parent
cgroup before the sub-group.
A spin-off from this patch is that we can now support arbitrarily long
group names and group config. (Only applies to top-level cgroups, not
run/task/services.)
Limitations:
- Processes in "removed" cgroups are not migrated/orphaned, the reasons
are several: overhead and complexity and the fact that memory cannot
be migrated
- A lingering child of a moved service may prevent an old top-level
cgroup from being removed.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-09 17:49:55 +02:00
Joachim Wiberg
d77c014723
Add example of initctl status foo
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-08 17:11:35 +02:00
Joachim Wiberg
23fca9c067
Update initctl usage text, three new commands
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-08 17:04:13 +02:00
Joachim Wiberg
37eb1901f9
initctl: handle ~ECHONL properly in top command
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-08 14:36:15 +02:00
Joachim Wiberg
98c4e7764f
initctl: fix boolean logic bug in -p top command option
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-08 14:27:36 +02:00
Joachim Wiberg
d3e4463612
initctl: add missing signal.h include, required for musl libc
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-08 14:20:48 +02:00
Joachim Wiberg
b812045d82
doc: add cgroup documentation
...
First draft of the new cgroup documentation.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-08 14:16:25 +02:00
Joachim Wiberg
b1bcdc88e0
initctl: fix ordering issue for root task in ps/top/cgroup commands
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-08 13:17:40 +02:00
Joachim Wiberg
62c5a9d06d
cgroup: add support for reserved cgroup 'root', for RT tasks
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-08 13:17:10 +02:00
Joachim Wiberg
dcdc842336
Revert "Travis-CI: disable gcc for coverity scan run"
...
This reverts commit 73629944c0 .
2021-04-08 12:15:08 +02:00
Joachim Wiberg
12eaa3073a
fnwrite(): call fclose() separately, found by Coverity Scan
...
If any of the fputs() calls fails we will not call fclose() and thus
cause resource loss.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-07 14:32:12 +02:00
Joachim Wiberg
34875f57a5
Fix uninitialized stack variable, found by Coverity Scan
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-07 14:00:08 +02:00
Joachim Wiberg
f0bf1343b0
initctl: skip return value for uev_*_init(), optional
...
We have these neat extras for added value, if they should fail, for
whatever reason, we still want to present 'top' to the user, which may
have to use 'reset' if exited improperly and lost cooked/cursor.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-07 13:57:43 +02:00
Joachim Wiberg
4e6b9514d5
cgroup: check return value from fnwrite(), found by Coverity Scan
...
We check it everywhere else, and a log message for failing to move PID 1
to the init cgroup is useful as well.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-07 13:55:07 +02:00
Joachim Wiberg
3b495d7518
cgroup: fix too small buffer for strlcpy(), found by Coverity Scan
...
Off by one, of course.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-07 13:54:34 +02:00
Joachim Wiberg
badf8701bf
cgroup: fix use before NULL check, found by Coverity Scan
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-07 13:53:56 +02:00
Joachim Wiberg
85fa0d4926
cgroup: fix resource leak, found by Coverity Scan
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-07 13:53:25 +02:00
Joachim Wiberg
3de9643893
fnwrite(): fix resource leak, found by Coverity Scan
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-07 13:26:56 +02:00
Joachim Wiberg
73629944c0
Travis-CI: disable gcc for coverity scan run
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-07 12:06:07 +02:00
Joachim Wiberg
c97c83bfb6
cgroup: basic instrumentation of critical functions
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-07 11:58:48 +02:00
Joachim Wiberg
19b18afac9
cgroup: Skip mkdir() and subtree control if group already exists
...
- No point in doing it twice
- Don't anger the gods (possible kernel bugs)
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-07 11:58:48 +02:00
Joachim Wiberg
e3c424e129
Minor, rename internal variable
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-07 11:58:48 +02:00
Joachim Wiberg
c0716d7f63
Minor optimization, drop expensive memset() ops
...
No need to zero out whole buffer for strlcat(), or other string check
ops. Also drop a few completely useless memset() calls.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-07 11:58:41 +02:00
Joachim Wiberg
d43af8c9c1
Minor optimization, use strdupa() for small alloc ops.
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-07 10:31:59 +02:00
Joachim Wiberg
2825100f77
initctl: add support for 'q' to quit from top (also signals)
...
- Set TTY in raw mode to be able read a single char at a time
- Hide cursor
- Trap 'q', Ctrl-C, Ctrl-\ and SIGTERM to restore TTY and cursor
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-07 10:08:13 +02:00
Joachim Wiberg
b1bee31d61
Helper functions for setting TTY in raw and cooked mode
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-07 10:07:26 +02:00
Joachim Wiberg
522276b80d
Minor, rename internal functions/variables screen_* -> tt*
...
- Shorter
- Follows old UNIX tradition
- Lines up with next commit
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-07 10:06:01 +02:00
Joachim Wiberg
7bc1470a1e
Minor, rearrange functions in mode order
...
Only moved functions around.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-06 14:38:24 +02:00
Joachim Wiberg
ca32cb0dfc
cgroup: 'init' is a reserved leaf group with Finit
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-06 13:16:58 +02:00
Joachim Wiberg
d59f55b90c
initctl: new command 'cgroup' to show cgroup config
...
This is intended to be used with the 'top' command to aid in setting up
and verifying proper limits for services.
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-06 12:03:20 +02:00
Joachim Wiberg
02936de993
initctl: initical conversion to use libuEv for top command
...
Signed-off-by: Joachim Wiberg <troglobit@gmail.com >
2021-04-05 23:56:39 +02:00