Xav*_* S. 0 variables ksh fork subroutine
我必须和KSH一起工作(是的,地狱贝壳).我需要使用fork,子程序如下:
#!/bin/ksh
PIPE=PIPE_$$
PIPE_ERR=PIPE_ERR_$$
export TEST_FILS
$(. ./LanceFils.ksh 2>${PIPE_ERR} 1>${PIPE}) &
PID_CHILD=$!
echo "Nom du fichier PIPE: ${PIPE}"
echo "Processus fils : " $!
wait ${PID_CHILD}
echo "Code retour: " $?
echo "Sortie standard de PROC_FILS : " $(cat ${PIPE})
echo "Sortie d'erreur(s) de PROC_FILS : " $(cat ${PIPE_ERR})
echo "Contenu de TEST_FILS: ${TEST_FILS}"
rm -rf ${PIPE}
Run Code Online (Sandbox Code Playgroud)
LanceFils.ksh的内容
#!/bin/ksh
TIMEOUT=5
export TEST_FILS
echo "Je suis le script fils et j'attends ${TIMEOUT} secondes"
echo "Nom du pipe du pere ${PIPE}"
sleep ${TIMEOUT}
TEST_FILS="Je suis le fils"
echo "Salut c'était bien !!!"
exit 10
Run Code Online (Sandbox Code Playgroud)
我知道这不起作用,顺便说一下,我试图找到一种方法使其工作...在我的代码中你可以看到我想要在子和父之间共享TEST_FILS变量.在KSH中有共享变量的方法,如在perl中使用"share"或者如果我必须使用像C中的管道一样?
谢谢.