Lines 422-428
Link Here
|
422 |
|
422 |
|
423 |
jail_start() |
423 |
jail_start() |
424 |
{ |
424 |
{ |
425 |
local _j _jv _jid _jl _id _name |
425 |
local _j _jv _jid _tmp _id _name |
426 |
|
426 |
|
427 |
if [ $# = 0 ]; then |
427 |
if [ $# = 0 ]; then |
428 |
return |
428 |
return |
Lines 452-480
Link Here
|
452 |
# Start jails in parallel and then check jail id when |
452 |
# Start jails in parallel and then check jail id when |
453 |
# jail_parallel_start is YES. |
453 |
# jail_parallel_start is YES. |
454 |
# |
454 |
# |
455 |
_jl= |
|
|
456 |
for _j in $@; do |
455 |
for _j in $@; do |
457 |
_j=$(echo $_j | tr /. _) |
456 |
_j=$(echo $_j | tr /. _) |
458 |
_jv=$(echo -n $_j | tr -c '[:alnum:]' _) |
457 |
_jv=$(echo -n $_j | tr -c '[:alnum:]' _) |
459 |
parse_options $_j $_jv || continue |
458 |
parse_options $_j $_jv || continue |
460 |
|
459 |
|
461 |
_jl="$_jl $_j" |
|
|
462 |
eval rc_flags=\${jail_${_jv}_flags:-$jail_flags} |
460 |
eval rc_flags=\${jail_${_jv}_flags:-$jail_flags} |
463 |
eval command=\${jail_${_jv}_program:-$jail_program} |
461 |
eval command=\${jail_${_jv}_program:-$jail_program} |
464 |
command_args="-i -f $_conf -c $_j" |
462 |
command_args="-i -f $_conf -c $_j" |
465 |
$command $rc_flags $command_args \ |
463 |
( |
466 |
>/dev/null 2>&1 </dev/null & |
464 |
_tmp=`mktemp -t jail_${_j}` || exit 3 |
467 |
done |
465 |
if $command $rc_flags $command_args \ |
468 |
sleep 1 |
466 |
> ${_tmp} 2>&1 </dev/null; |
469 |
for _j in $_jl; do |
467 |
then |
470 |
echo -n " ${_hostname:-${_j}}" |
468 |
echo -n " ${_hostname:-${_j}}" |
471 |
if _jid=$($jail_jls -j $_j jid); then |
469 |
_jid=$($jail_jls -j $_j jid) |
472 |
echo "$_jid" > /var/run/jail_${_j}.id |
470 |
echo $_jid > /var/run/jail_${_j}.id |
473 |
else |
471 |
else |
474 |
echo " cannot start jail " \ |
472 |
rm -f /var/run/jail_${_j}.id |
475 |
"\"${_hostname:-${_j}}\": " |
473 |
echo " cannot start jail " \ |
476 |
fi |
474 |
"\"${_hostname:-${_j}}\": " |
|
|
475 |
cat ${_tmp} |
476 |
fi |
477 |
rm -f ${_tmp} |
478 |
) & |
477 |
done |
479 |
done |
|
|
480 |
wait |
478 |
else |
481 |
else |
479 |
# |
482 |
# |
480 |
# Start jails one-by-one when jail_parallel_start is NO. |
483 |
# Start jails one-by-one when jail_parallel_start is NO. |