aboutsummaryrefslogtreecommitdiff
path: root/GOAL.md
diff options
context:
space:
mode:
Diffstat (limited to 'GOAL.md')
-rw-r--r--GOAL.md35
1 files changed, 35 insertions, 0 deletions
diff --git a/GOAL.md b/GOAL.md
new file mode 100644
index 0000000..acee5b2
--- /dev/null
+++ b/GOAL.md
@@ -0,0 +1,35 @@
1# project goals
2the goal of this project is to create a cli tool named `demon` that should be used to spawn background processes and redirect their stdout and stderr to files.
3here is an overview of the subcommands the tool should provide and their usage:
4
5## demon run
6```
7# the identifier is a required argument
8# all remaining arguments will be used to spawn the process with the first one being the executable name
9# three files should be created `.pid`, `.stdout`, `.stderr`
10# the cli tool should exit immediatly but the spawned process should be left running the background
11demon run --id <identifier> <command...>
12
13# example usage
14demon run --id npm-dev npm run dev
15# this should create the files `npm-dev.pid`, `npm-dev.stdout` and `npm-dev.stderr`
16# if the pid file already exists and the process is still running you should fail with a descriptive error message
17```
18
19## demon stop
20```
21# this should kill the process if it is running, otherwise do nothing
22demon stop --id <id>
23```
24
25## demon tail
26```
27# this should tail both .stderr and .stdout files by default, or just the selected ones
28demon tail [--stdout] [--stderr] --id <id>
29```
30
31## demon cat
32```
33# this should cat both files or just the selected ones
34demon cat [--stdout] [--stderr] --id <id>
35```