author | Sean Wilcox <sean.wilcox@oracle.com> |
Fri, 24 Mar 2017 14:28:46 -0600 | |
changeset 7799 | e35d3ee6d1b8 |
parent 7757 | b1ac9348d4f0 |
permissions | -rw-r--r-- |
7757
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
1 |
The following scripts test the various components that make up GNU parallel. |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
2 |
They are based on examples in the GNU parallel man pages. |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
3 |
|
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
4 |
Note that the last one for sql has been obstificated to not disclose the |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
5 |
testers username and password or the name of the database. |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
6 |
|
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
7 |
There are lots more examples in the GNU parallel man page that can be used |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
8 |
to provide further testing if needed. |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
9 |
|
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
10 |
---- |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
11 |
|
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
12 |
$ cat niceload-test.sh |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
13 |
#!/bin/sh |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
14 |
PATH=/usr/bin |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
15 |
echo "Testing niceload" |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
16 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
17 |
echo "EXAMPLE: See niceload in action" |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
18 |
echo " In terminal 1 run: top" |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
19 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
20 |
echo " In terminal 2 run:" |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
21 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
22 |
echo " niceload perl -e '$|=1;do{$l==$r or print \".\";" |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
23 |
echo " $l=$r}until(($r=time-$^T)>50)'" |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
24 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
25 |
echo " This will print a '.' every second for 50 seconds and eat a" |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
26 |
echo " lot of CPU. When the load rises to 1.0 the process is" |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
27 |
echo " suspended." |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
28 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
29 |
niceload -q perl -e '$|=1;do{$l==$r or print "."; $l=$r}until(($r=time-$^T)>50)' |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
30 |
|
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
31 |
---- |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
32 |
|
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
33 |
$ cat parallel-test.sh |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
34 |
#!/bin/sh |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
35 |
PATH=/usr/bin:/usr/sbin |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
36 |
echo Testing parallel... |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
37 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
38 |
echo EXAMPLE: Composed commands |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
39 |
echo A job can consist of several commands. This will print the |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
40 |
echo number of files in each directory: |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
41 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
42 |
rm -rf test-dir |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
43 |
mkdir -p test-dir/a test-dir/b test-dir/c test-dir/d |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
44 |
(cd test-dir/a; touch 1 2 3 4 5 6 7 8 9 10 11 12) |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
45 |
(cd test-dir/b; touch 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20) |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
46 |
(cd test-dir/c; touch 1 2 3 4 5 6 7 8) |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
47 |
(cd test-dir/d; touch 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15) |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
48 |
(cd test-dir; ls | parallel 'echo -n {}" "; ls {}|wc -l') |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
49 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
50 |
echo " To put the output in a file called <name>.dir:" |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
51 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
52 |
(cd test-dir; ls | parallel '(echo -n {}" "; ls {}|wc -l) > {}.dir') |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
53 |
cat test-dir/a.dir |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
54 |
cat test-dir/b.dir |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
55 |
cat test-dir/c.dir |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
56 |
cat test-dir/d.dir |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
57 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
58 |
echo EXAMPLE: Group output lines |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
59 |
echo When running jobs that output data, you often do not want |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
60 |
echo the output of multiple jobs to run together. GNU parallel |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
61 |
echo defaults to grouping the output of each job, so the output |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
62 |
echo is printed when the job finishes. If you want the output to |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
63 |
echo be printed while the job is running you can use -u. |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
64 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
65 |
echo Compare the output of: |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
66 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
67 |
parallel traceroute ::: foss.org.my debian.org freenetproject.org |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
68 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
69 |
echo to the output of: |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
70 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
71 |
parallel -u traceroute ::: foss.org.my debian.org freenetproject.org |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
72 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
73 |
echo EXAMPLE: Keep order of output same as order of input |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
74 |
echo Normally the output of a job will be printed as soon as it |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
75 |
echo completes. Sometimes you want the order of the output to |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
76 |
echo remain the same as the order of the input. This is often |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
77 |
echo important, if the output is used as input for another |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
78 |
echo system. -k will make sure the order of output will be in the |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
79 |
echo same order as input even if later jobs end before earlier |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
80 |
echo jobs. |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
81 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
82 |
echo Append a string to every line in a text file: |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
83 |
echo If you remove -k some of the lines may come out in the wrong |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
84 |
echo order. |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
85 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
86 |
echo BEFORE: |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
87 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
88 |
cat textfile |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
89 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
90 |
echo AFTER: |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
91 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
92 |
cat textfile | parallel -k echo {} append_string |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
93 |
|
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
94 |
---- |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
95 |
|
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
96 |
$ cat parcat-test.sh |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
97 |
#!/bin/sh |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
98 |
PATH=/usr/bin |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
99 |
echo "Testing parcat" |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
100 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
101 |
echo "mkfifo slot-{1..5}-digit-{0..9}" |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
102 |
echo "parallel -j5 'seq 100000 | grep {} > slot-{%}-digit-{}' ::: {0..9} &" |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
103 |
echo "parallel parcat slot-{1..5}-digit-{} '>' digit-{} ::: {0..9}" |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
104 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
105 |
rm -f slot* digit* |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
106 |
mkfifo slot-{1..5}-digit-{0..9} |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
107 |
parallel -j5 'seq 100000 | grep {} > slot-{%}-digit-{}' ::: {0..9} & |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
108 |
parallel parcat slot-{1..5}-digit-{} '>' digit-{} ::: {0..9} |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
109 |
|
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
110 |
---- |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
111 |
|
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
112 |
$ cat sem-test.sh |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
113 |
#!/bin/sh |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
114 |
PATH=/usr/bin:/usr/sbin:/usr/perl5/5.22/bin |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
115 |
echo Testing sem |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
116 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
117 |
echo EXAMPLE: Gzipping *.log |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
118 |
echo Run one gzip process per CPU core. Block until a CPU core |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
119 |
echo becomes available. |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
120 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
121 |
rm -rf test-dir |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
122 |
mkdir test-dir |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
123 |
mkfile -v 150k test-dir/a.log |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
124 |
mkfile -v 150k test-dir/b.log |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
125 |
mkfile -v 150k test-dir/c.log |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
126 |
mkfile -v 150k test-dir/d.log |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
127 |
mkfile -v 150k test-dir/e.log |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
128 |
mkfile -v 150k test-dir/f.log |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
129 |
mkfile -v 150k test-dir/g.log |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
130 |
mkfile -v 150k test-dir/h.log |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
131 |
mkfile -v 150k test-dir/i.log |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
132 |
mkfile -v 150k test-dir/j.log |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
133 |
mkfile -v 150k test-dir/k.log |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
134 |
mkfile -v 150k test-dir/l.log |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
135 |
mkfile -v 150k test-dir/m.log |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
136 |
mkfile -v 150k test-dir/n.log |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
137 |
mkfile -v 150k test-dir/o.log |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
138 |
mkfile -v 150k test-dir/p.log |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
139 |
mkfile -v 150k test-dir/q.log |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
140 |
mkfile -v 150k test-dir/r.log |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
141 |
for i in `ls test-dir/*.log` ; do |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
142 |
echo $i |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
143 |
sem -j+0 gzip $i ";" echo done |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
144 |
done |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
145 |
sem --wait |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
146 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
147 |
echo "EXAMPLE: Protecting pod2html from itself" |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
148 |
echo " pod2html creates two files: pod2htmd.tmp and pod2htmi.tmp" |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
149 |
echo " which it does not clean up. It uses these two files for a" |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
150 |
echo " short time. But if you run multiple pod2html in parallel" |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
151 |
echo " (e.g. in a Makefile with make -j) you need to protect" |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
152 |
echo " pod2html from running twice at the same time. sem running as" |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
153 |
echo " a mutex will do just that:" |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
154 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
155 |
#cp .../components/perl512/perl-5.12.4/Porting/pumpkin.pod . |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
156 |
sem --fg --id pod2html pod2html pumpkin.pod > pumpkin.html |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
157 |
sem --fg --id pod2html rm -f pod2htmd.tmp pod2htmi.tmp |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
158 |
|
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
159 |
---- |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
160 |
|
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
161 |
$ cat sql-test.sh |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
162 |
#!/bin/sh |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
163 |
PATH=/usr/bin:/usr/sbin:/usr/perl5/5.22/bin |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
164 |
echo Testing sql |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
165 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
166 |
echo EXAMPLE: Attaching to the BugDB database. |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
167 |
echo |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
168 |
sql oracle://<USERNAME>:<PASSWORD>@<DATABASE NAME> |
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
169 |
|
b1ac9348d4f0
PSARC 2017/036 GNU parallel 20170122
Rich Burridge <rich.burridge@oracle.com>
parents:
diff
changeset
|
170 |
---- |