Portál AbcLinuxu, 29. dubna 2024 01: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 eofProblem 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.