Se este é o Linux, você poderia seguir um processo como este. Como exemplo de um "processo de longa duração", usarei "perl -e sleep", que dorme para sempre:
$ id=ABC123456; perl -e sleep $id
Agora, precisamos encontrar o processo em execução:
$ ps -Af | grep [A]BC123456
user 30579 22013 0 09:32 pts/10 00:00:00 perl -e sleep ABC123456
# ^^^^^ parent PID
Agora que temos o PID do pai, podemos bisbilhotar em seu ambiente, no qual screen
define uma variável WINDOW
:
$ tr '$ id=ABC123456; perl -e sleep $id
' '\n' < /proc/22013/environ | grep WINDOW
WINDOW=3
Qual é o correto. Eu executei na tela Window 3. Como esta é uma variável de ambiente, há uma boa chance de que sua tarefa também a herde (dependendo de qual sabor das chamadas exec()
são usadas), então você provavelmente pode espionar o ambiente de sua tarefa também, e encontre o mesmo resultado.