diff options
| author | Owen Jacobson <owen.jacobson@grimoire.ca> | 2014-05-28 16:11:01 -0400 |
|---|---|---|
| committer | Owen Jacobson <owen.jacobson@grimoire.ca> | 2014-05-28 16:11:01 -0400 |
| commit | b0c376d2a7ded722cd49f88e515c53632ec75730 (patch) | |
| tree | de354549a8285063f482975bf44db7ba97f47c29 /wiki/devops/self-daemonization-sucks.md | |
| parent | 693eec80b65299ff679a458bb7039d656ece550f (diff) | |
Typographic fixes around double quotes.
Diffstat (limited to 'wiki/devops/self-daemonization-sucks.md')
| -rw-r--r-- | wiki/devops/self-daemonization-sucks.md | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/wiki/devops/self-daemonization-sucks.md b/wiki/devops/self-daemonization-sucks.md index 73bc784..b527da8 100644 --- a/wiki/devops/self-daemonization-sucks.md +++ b/wiki/devops/self-daemonization-sucks.md @@ -1,6 +1,6 @@ # Self-daemonizing code is awful -The classical UNIX approach to services is to implement them as "daemons", +The classical UNIX approach to services is to implement them as “daemons,” programs that run without a terminal attached and provide some service. The key feature of a classical daemon is that, when started, it carefully detaches itself from its initial environment and terminal, then continues @@ -23,7 +23,7 @@ stop it, to an unsuspecting `init`, which has no idea how this specific daemon is special. The standard workaround has daemons write their own PIDs to a file, but a -file is "dead" data: it's not automatically updated if the daemon dies, and +file is “dead” data: it's not automatically updated if the daemon dies, and can linger long enough to contain the PID of some later, unrelated program. PID file validity checks generally suffer from subtle (or, sometimes, quite gross) race conditions. @@ -73,6 +73,6 @@ This is a great application of [DRY](http://c2.com/cgi/wiki?DontRepeatYourself), as the daemon management code only needs to be written once (in the daemon-managing daemon) rather than many times over (in each individual daemon). It also makes daemon -execution more predictable, since daemons "in production" behave more like +execution more predictable, since daemons “in production” behave more like they do when run attached to a developer's console during debugging or development. |
