Portál AbcLinuxu, 19. února 2026 23:23
[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.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.