Portál AbcLinuxu, 31. října 2025 06:46
[program:snx] command=/script.sh startsecs = 0Script pak vypada:
/usr/bin/expect << eof
exec snx -s ${SNX_SERVER} -c ${SNX_CERTPATH}
expect "*?assword:"
send "${SNX_CERTPASS}\r"
expect "*Do you accept*"
send "y\r"
expect "SNX - connected."
interact
eof
Problem je, ze tohle zafunguje a vrati se exit code 0, coz supervisor vyhodnoti jako exited stav.
Ale subprocess snx bezi na pozadi.
Otazka, jak predat supervizoru informaci o tom s jakym PID byl SNX vystartovan, aby kontroloval prave tento proces, ne process expectu.
Diky
            #!/usr/bin/expect -f exec snx -s $env(SNX_SERVER) -c $env(SNX_CERTPATH) expect "*?assword:" send "$env(SNX_CERTPASS)\r" expect "*Do you accept*" send "y\r" expect "SNX - connected." interact, ale to spravne nespusti proces.
$ wait --help
wait: wait [-n] [id ...]
    Wait for job completion and return exit status.
    
    Waits for each process identified by an ID, which may be a process ID or a
    job specification, and reports its termination status.  If ID is not
    given, waits for all currently active child processes, and the return
    status is zero.  If ID is a a job specification, waits for all processes
    in that job's pipeline.
    
    If the -n option is supplied, waits for the next job to terminate and
    returns its exit status.
    
    Exit Status:
    Returns the status of the last ID; fails if ID is invalid or an invalid
    option is given.
             30.8.2018 23:25
Josef Kufner             | skóre: 70
        30.8.2018 23:25
Josef Kufner             | skóre: 70
            
            
        
        Tiskni
            
                Sdílej:
                 
                 
                 
                 
                 
                 
            
    
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.