cómo rotar el file nohup.out sin matar a mi aplicación

Mi file nohup.out está creciendo rápidamente.

Estoy ejecutando una aplicación en segundo plano, está escribiendo file nohup.out ,

ahora necesito rotar el file de nohup.out sin matar mi uso. Se puede hacer esto?

Usted debe echar un vistazo a flog en combinación con logrotate . Si canaliza la salida de la aplicación a través de esto, puede SIGHUP el process flog sin tener que matar a su aplicación en ejecución.

flog (registrador de files) es un progtwig que lee la input de STDIN y escribe en un file.

Si se recibe SIGHUP, se reabrirá el file, permitiendo la rotation del logging [ver logrotate (8) en RH.]

El file de logging sólo se reabrirá si flog detecta que se ha producido la rotation (es decir, se ha eliminado el file antiguo o se ha cambiado el inode). flog es extremadamente pequeño (less de 500 bytes de huella de memory).

No se puede girar. Puede >nohup.out con el command >nohup.out , que eliminará todo el contenido del file.

Puede copyr el file primero y luego truncarlo, si necesita save la salida. Pero hay una pequeña window para una carrera, donde la salida se puede escribir después de haber copydo el file pero antes de truncarlo. Cualquier salida escrita durante esa window se perderá para siempre.

No puedes.

Puede desvincular el file (rm) pero los datos todavía tienen una huella en el disco y seguirán escribiéndose mientras haya un identificador de file abierto.

Puede cambiar el nombre del file, pero de nuevo esto no impide que se escriba en (pero si está iniciando trabajos de background con regularidad los más nuevos escribirán en el mismo file).

Realmente debe networkingirigir explícitamente la salida del trabajo a algo diseñado para manejar esto (por ejemplo, apache rotatelogs ).

Logrotate tiene una opción copytruncate disponible, que truncará (vaciará) el file especificado después de haber sido copydo en el esquema de rotation normal (y compression, si se establece).

  copytruncate Truncate the original log file in place after creating a copy, instead of moving the old log file and optionally creating a new one, It can be used when some program can not be told to close its logfile and thus might continue writing (appending) to the previous log file forever. Note that there is a very small time slice between copying the file and truncating it, so some log- ging data might be lost. When this option is used, the create option will have no effect, as the old log file stays in place. 

Desde la página de inicio logrotate .