I've tried suspending the process (ctrl-z), exporting a new value for the variable, then resuming (
fg
), but the old value is still displayed.
Isto não funciona porque as variáveis de ambiente são herdadas quando o processo é iniciado - mas quando você usa Ctrl - z e fg
it não reinicia watch
; apenas pausa e descompacta o processo antigo.
A única maneira de mudar o ambiente para um processo em execução, a partir do exterior, é fazer de dentro do processo com uma ferramenta de depuração. Por exemplo:
$ gdb -p $(pidof watch)
(gdb) p setenv("APPLE", "orange")
(gdb) q
Really detach? y