Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重命名linux文件时更改描述符_Linux_Rename - Fatal编程技术网

重命名linux文件时更改描述符

重命名linux文件时更改描述符,linux,rename,Linux,Rename,我在CentOS中有一个进程,它将日志写入一个文件。当我重命名它时,它仍然会写入它。有没有办法在不重新启动进程的情况下更改该文件描述符?没有。写入管道,在管道的另一端使用日志旋转实用程序。或者重新启动守护进程。有些程序接受SIGHUP信号来重新打开日志文件。@n.m.谢谢,这似乎是合理的,但由于我是linux方面的初学者,你能为一个好的教程提供一些参考吗?你可以使用例如。为了将输出输送到rotatelogs,您可能需要创建一个命名管道。类似于mkfifomypipe;rotatelogs日志文件

我在CentOS中有一个进程,它将日志写入一个文件。当我重命名它时,它仍然会写入它。有没有办法在不重新启动进程的情况下更改该文件描述符?

没有。写入管道,在管道的另一端使用日志旋转实用程序。或者重新启动守护进程。有些程序接受SIGHUP信号来重新打开日志文件。@n.m.谢谢,这似乎是合理的,但由于我是linux方面的初学者,你能为一个好的教程提供一些参考吗?你可以使用例如。为了将输出输送到
rotatelogs
,您可能需要创建一个命名管道。类似于
mkfifomypipe;rotatelogs日志文件3600
。或者,如果您的进程写入标准输出,只需
myprocess | rotatelogs…
,无命名管道。