Projekt

Allgemein

Profil

Fehler #614 » pool_test.sh

Maximilian Seesslen, 25.02.2025 18:19

 
1
#!/bin/bash
2

    
3
set -e
4
set -u
5

    
6
mkdir -p workspace/log
7
WORKSPACE=$PWD/workspace
8
opwd=$PWD
9

    
10
trapFunction()
11
{
12
   local sta=$?
13
   cd $opwd
14
   # echo "Return code: $sta"
15
   echo $sta > $WORKSPACE/log/return_$BASHPID.log
16
   if [ "$sta" != "0" ]; then
17
      echo "Return code: $sta in process $BASHPID"
18
      echo "PWD: $PWD, cmd=$0"
19
      kill -s SIGINT $$
20
      
21
        # echo "Sending signal to parent"
22
   fi
23
   wait
24
   # This will wait forever?
25
   # waitRemainingSilent $BASHPID
26
}
27

    
28
function trapParent()
29
{
30
   sta=1
31
   {
32
      flock -s 200
33
      # echo -e "\nSomething happened\n"
34
      let childErrors+=1
35
    } 200>$WORKSPACE/log/trap.lock
36
}
37

    
38

    
39
function fail()
40
{
41
    sleep 0.5
42
    echo "FAIL"
43
    return 10
44
    # exit 1
45
}
46

    
47
function runLoged()
48
{
49
    trap trapFunction EXIT
50
    # echo "Started $BASHPID; Args: $@; PWD: $PWD"
51
    # echo "PWD: $PWD"
52
    echo "PWD: $PWD" >> $WORKSPACE/log/cmd_$BASHPID.log
53
    echo "CMD: $@" >> $WORKSPACE/log/cmd_$BASHPID.log
54
    $@ &> $WORKSPACE/log/log_$BASHPID.log
55
    # trap is not always called on exit
56
    echo $? > $WORKSPACE/log/return_ok_$BASHPID.log
57
    waitRemainingSilent $BASHPID
58
    echo "Logged ended"
59
}
60

    
61

    
62
runLoged fail
63
wait
64
echo "Fin."
65

    
66

    
67
#---fin------------------------------------------------------------------------
(5-5/5)