如何让 GNU 屏幕分别在每个屏幕中创建唯一的环境变量
How get GNU screen to create unique enviroment variables in each screen separately
我目前运行服务器中的python和shell脚本中的一堆脚本。
我运行使用 GNU screen 让他们运行并行。
counter=0
while read -r word; do
counter=$(( counter + 1))
screen -dmS $counter sh -c "python3 script1.py $word;exec bash"
done </home/user/Documents/wordlist.txt
counter=$(( counter + 1))
screen -dmS $counter sh -c "python3 script2.py;exec bash"
counter=$(( counter + 1))
screen -dmS $counter sh -c "python3 script3.py;exec bash"
这个单词列表有 5 个单词,所以它创建了 5 个进程。
然后还有 2 个进程,总共 7 个进程。每个屏幕根据计数器命名为屏幕 1-7。
如何让每个屏幕进程创建一个环境编号,以便它可以根据计数器记住它是什么进程编号,以便在它结束时我可以将它用于其他事情。
这样一来,如果我在 6 号屏幕上,我可以输入 $PROCESSNUMBER 来记住这是 6 号。最好,我可以 运行 在每个屏幕上使用相同的命令。
你是 运行 那里的 shell 命令,所以只需导出一个变量:
screen -dmS $counter sh -c "export PROCESSNUMBER=$counter; python3 script3.py;exec bash"
我目前运行服务器中的python和shell脚本中的一堆脚本。
我运行使用 GNU screen 让他们运行并行。
counter=0
while read -r word; do
counter=$(( counter + 1))
screen -dmS $counter sh -c "python3 script1.py $word;exec bash"
done </home/user/Documents/wordlist.txt
counter=$(( counter + 1))
screen -dmS $counter sh -c "python3 script2.py;exec bash"
counter=$(( counter + 1))
screen -dmS $counter sh -c "python3 script3.py;exec bash"
这个单词列表有 5 个单词,所以它创建了 5 个进程。 然后还有 2 个进程,总共 7 个进程。每个屏幕根据计数器命名为屏幕 1-7。
如何让每个屏幕进程创建一个环境编号,以便它可以根据计数器记住它是什么进程编号,以便在它结束时我可以将它用于其他事情。
这样一来,如果我在 6 号屏幕上,我可以输入 $PROCESSNUMBER 来记住这是 6 号。最好,我可以 运行 在每个屏幕上使用相同的命令。
你是 运行 那里的 shell 命令,所以只需导出一个变量:
screen -dmS $counter sh -c "export PROCESSNUMBER=$counter; python3 script3.py;exec bash"