Qualcuno può suggerire come potrei ottenere questo lavoro ....Chiamata rscript da script di shell linux
Ho uno script in R che richiede diversi minuti per correre e scrive a poche centinaia di righe di output. Voglio scrivere un wrapper di shell shell attorno a questo script R che lancerà lo script R in background, ne canalizzerà l'output in un file e inizierà a seguire il fondo di quel file. Se l'utente inserisce CTRL-C, voglio che questo uccida lo script della shell e il comando tail ma non lo script R. Sembra semplice vero?
Ho prodotto un esempio semplificato di seguito, ma non capisco perché questo non funzioni. Ogni volta che uccido lo script della shell, anche lo script R viene ucciso nonostante sia apparentemente in esecuzione in background. Ho provato nohup, disown etc senza successo.
example.R
for(i in 1:1000){
Sys.sleep(1)
print(i)
}
wrapper.sh
#!/bin/bash
Rscript example.R > logfile &
tail -f logfile
Grazie in anticipo!
No, non è quello. Se lo faccio, ottengo due lavori in esecuzione in background e CNTL-C non li uccide. Voglio che CNTL-C uccida tail -f ma non Rscript. – David
Non ho accesso a 'R', ma ho appena provato questo script esatto con PHP e funziona come descritto. Ctrl-C uccide lo script genitore ma lascia in esecuzione il processo in background. – miken32