File: daemon.sh

package info (click to toggle)
percona-toolkit 3.2.1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 68,916 kB
  • sloc: perl: 241,287; sql: 22,868; sh: 19,746; javascript: 6,799; makefile: 353; awk: 38; python: 30; sed: 1
file content (81 lines) | stat: -rw-r--r-- 1,846 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#!/usr/bin/env bash

plan 9

PT_TMPDIR="$TEST_PT_TMPDIR"
file="$PT_TMPDIR/pid-file"

source "$LIB_DIR/log_warn_die.sh"
source "$LIB_DIR/daemon.sh"

cmd_ok \
   "test ! -f $file" \
   "PID file doesn't exist"

make_pid_file $file $$

cmd_ok \
   "test -f $file" \
   "PID file created"

pid=`cat $file`
is \
   "$pid" \
   "$$" \
   "Correct PID"

remove_pid_file $file

cmd_ok \
   "test ! -f $file" \
   "PID file removed"

# ###########################################################################
# PID file already exists and proc is running.
# ###########################################################################
echo $$ > $file

(
   make_pid_file $file $$ >$PT_TMPDIR/output 2>&1
)

cmd_ok \
   "grep -q \"PID file /tmp/percona-toolkit.test/pid-file already exists and its PID ($$) is running\" $PT_TMPDIR/output" \
   "Does not overwrite PID file is PID is running"

echo 999999 > $file

make_pid_file $file $$ >$PT_TMPDIR/output 2>&1

cmd_ok \
   "grep -q 'Overwriting PID file /tmp/percona-toolkit.test/pid-file because its PID (999999) is not running' $PT_TMPDIR/output" \
   "Overwrites PID file if PID is not running"

pid=`cat $file`
is \
   "$pid" \
   "$$" \
   "Correct PID"

rm $file
rm $PT_TMPDIR/output

# ###########################################################################
# Die if pid file can't be created.
# ###########################################################################
(
   make_pid_file "/root/pid" $$ >$PT_TMPDIR/output 2>&1
)

is \
   "$?" \
   "1" \
   "Exit 1 if PID file can't be created"

cmd_ok \
   "grep -q 'Cannot create or write PID file /root/pid' $PT_TMPDIR/output" \
   "Error that PID file can't be created"

# ###########################################################################
# Done.
# ###########################################################################