Às vezes eu acidentalmente matei todos os trabalhos em segundo plano em um shell, por exemplo, porque A janela do programa de um Windows rodando sob o Wine não está na frente por padrão .
Eu sei que posso usar nohup
ou disown
para protegê-los de serem mortos ao matar o shell ou seu processo de emulador de terminal. Mas se meu sistema operacional estiver congelado, eu tenho que reiniciar o sistema operacional, e nem nohup
ou disown
pode salvar qualquer processo em segundo plano.
Existe uma maneira de registrar os comandos dos trabalhos em segundo plano que estão sendo executados em um processo shell ou todos os processos do shell (aqueles iniciados manualmente em particular), periodicamente ou manualmente?
O que estou pensando é escrever um script, que é executado periodicamente em todos os processos do shell, e para cada processo do shell, ele simplesmente anexará a saída stdout de jobs
a um arquivo de texto compartilhado.
Mas não tenho certeza de como fazer isso passar por todos os processos do shell e como reduzir os comandos duplicados. Eu gostaria de registrar os comandos de uma maneira que eu possa executar o arquivo de log diretamente como um script shell para reexecutar os comandos
Obrigado.