#!/bin/bash
set -e
INPUT_NO_OF_PROCESS=$1
NO_OF_PROCESS="${INPUT_NO_OF_PROCESS:-1}"
#mkdir -p $DUMP_DIR
echo "Spawning processes=$NO_OF_PROCESS"
for i in $(seq 1 $NO_OF_PROCESS)
do
# This command will expect a password and has to be spawned
# into multiple processes after getting the password
some_command_that_expects_password&
done
如果上述 bash 脚本作为后台进程启动,则无法获取密码&
有没有什么方法可以获取输入并让进程进入后台?
答案1
并不真地。
只有命令command_with_password
知道何时输入密码(可能重试)。因此只有命令可以确定何时可以进入后台。
您也许能够使用第二个脚本来做一些事情,该脚本监视第一个脚本kill -20
并向程序发送 SIGTSTP()然后将其置于后台,但这并非易事。
这也取决于询问密码的方式。在某些情况下,将密码包装cmd_with_password
在expect
脚本中是一种选择。