summaryrefslogtreecommitdiff
path: root/corebinutils/kill/README.md
diff options
context:
space:
mode:
authorMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-02 18:26:05 +0300
committerMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-02 18:26:05 +0300
commit997dd21c2f45e9a586e9ef459381de1d540a9cfb (patch)
tree5648d5924a91841c15ae95b9e7b56a9b07a9b284 /corebinutils/kill/README.md
parent3d884ae8958e9e060e76d6e8165eb33ae86829d4 (diff)
parent4888cfe1b3ad8e83935dc7b061bdbdade5d3ebfd (diff)
downloadProject-Tick-997dd21c2f45e9a586e9ef459381de1d540a9cfb.tar.gz
Project-Tick-997dd21c2f45e9a586e9ef459381de1d540a9cfb.zip
Add 'corebinutils/kill/' from commit '4888cfe1b3ad8e83935dc7b061bdbdade5d3ebfd'
git-subtree-dir: corebinutils/kill git-subtree-mainline: 3d884ae8958e9e060e76d6e8165eb33ae86829d4 git-subtree-split: 4888cfe1b3ad8e83935dc7b061bdbdade5d3ebfd
Diffstat (limited to 'corebinutils/kill/README.md')
-rw-r--r--corebinutils/kill/README.md31
1 files changed, 31 insertions, 0 deletions
diff --git a/corebinutils/kill/README.md b/corebinutils/kill/README.md
new file mode 100644
index 0000000000..f8b4313bc6
--- /dev/null
+++ b/corebinutils/kill/README.md
@@ -0,0 +1,31 @@
+# kill
+
+Standalone Linux-native port of FreeBSD `kill` for Project Tick BSD/Linux Distribution.
+
+## Build
+
+```sh
+gmake -f GNUmakefile
+gmake -f GNUmakefile CC=musl-gcc
+```
+
+## Test
+
+```sh
+gmake -f GNUmakefile test
+gmake -f GNUmakefile test CC=musl-gcc
+```
+
+## Port Strategy
+
+- Process signaling is mapped directly to Linux `kill(2)`.
+- Signal name parsing and `kill -l` output are implemented locally from Linux `<signal.h>` constants instead of FreeBSD `str2sig(3)`, `sig2str(3)`, `sys_signame`, or `sys_nsig`.
+- Real-time signals are exposed through Linux `SIGRTMIN`/`SIGRTMAX` as `RTMIN`, `RTMIN+N`, and `RTMAX-N`.
+- Negative process-group targets are supported through the native Linux `kill(2)` PID semantics; callers must use `--` before a negative PID to avoid ambiguity with signal options.
+
+## Supported / Unsupported Semantics
+
+- Supported: `kill pid ...`, `kill -s signal_name pid ...`, `kill -signal_name pid ...`, `kill -signal_number pid ...`, `kill -l`, `kill -l exit_status`, signal names with optional `SIG` prefix, and signal `0`.
+- Unsupported by design: shell job-control operands such as `%1`. Those require a shell builtin with job table state, so this standalone binary exits with a clear error instead of guessing.
+- Unsupported by design: GNU reverse lookup forms such as `kill -l TERM` and numeric `kill -s 9`. This port keeps the BSD/POSIX interface strict rather than adding GNU-only parsing.
+- Unsupported on Linux: BSD-only signals that do not exist in Linux `<signal.h>` such as `INFO`. They fail explicitly as unknown signals.