summaryrefslogtreecommitdiff
path: root/docs/fs.md
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-29 01:43:25 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:15 -0300
commit4a662c32888ed055b3e42faa5afc31dcaeb09fc4 (patch)
tree28a5dd2fda2ee0de32450600f1e3eec8395c2bf2 /docs/fs.md
parent0423e315dfeaa5af48d2186a8f0997e1904f3da9 (diff)
downloadpardes-4a662c32888ed055b3e42faa5afc31dcaeb09fc4.tar.gz
pardes-4a662c32888ed055b3e42faa5afc31dcaeb09fc4.zip
Kill stops a command pane's whole command, its & jobs included
With job control on, a command's & jobs get process groups of their own, so Kill's signal to the foreground group and the shell's group left them running, orphaned. A stop of a command pane now signals every process group in its shell's session (Linux; a /proc scan). Jobs still outlive a command that exits on its own. Docs and the skill say it per route. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Diffstat (limited to 'docs/fs.md')
-rw-r--r--docs/fs.md10
1 files changed, 6 insertions, 4 deletions
diff --git a/docs/fs.md b/docs/fs.md
index d2f35505..0a688039 100644
--- a/docs/fs.md
+++ b/docs/fs.md
@@ -171,8 +171,10 @@ never needed); and `Kill`, which
does not quit but stops commands, as acme's does: bare, every command pardes
started, and `Kill make ls`, those whose line begins with one of the words. A
command pardes started is a command pane's, until its child exits -- Kill
-sends SIGTERM to its running job and to its shell, so the whole line stops
-(of `sleep 30; echo done` the `echo` never runs) -- or a line it typed into
+sends SIGTERM to its running job, to its shell and to every `&` job the
+line started, so the whole command stops and leaves nothing running (of
+`sleep 30; echo done` the `echo` never runs; an `&` job outlives only a
+command that exits on its own) -- or a line it typed into
a terminal (a
word written to `exec`, a middle click on one, a `pty/run`), from its shell's
start mark (C) to its end mark (D), where Kill sends its foreground job SIGTERM -- acme posts the
@@ -305,7 +307,7 @@ same tree without leaving the process.
exits, as in acme, not when its terminal closes: a job it left in the
background prints on below `exit N` until it lets go of the pty, and a
command that lets go of its terminal early runs on to its own exit. A
- background job outlives the command: job control gives it a process
+ background job outlives a command that exits on its own (Kill stops it too): job control gives it a process
group of its own, so the hangup the kernel sends the terminal's
foreground group when the shell exits misses it. It survives the pane
closing too, but its writes to the terminal then fail, so start one that
@@ -317,7 +319,7 @@ same tree without leaving the process.
the screen and its scrollback (`clear`, ED3) erases the history above it. A command pane's own exec starts
the next command there too. The log says `run <serial> <line>` and `exit
<serial> <N|?>`; `exec` reads back the command pane's serial; Kill stops
- its whole line; a line is at most 1 KB. To run a command again, execute
+ its whole line, `&` jobs included; a line is at most 1 KB. To run a command again, execute
its line again from its directory: `echo 'make test' > pane/<n>/exec` on
the command pane runs it there, below the last run. A misspelled word is a
command that says so and ends `exit 127`. `echo Tty > pane/<n>/ctl` makes