Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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
Node.js完全删除运行脚本中的文件_Node.js_File_Filesystems_Posix - Fatal编程技术网

Node.js完全删除运行脚本中的文件

Node.js完全删除运行脚本中的文件,node.js,file,filesystems,posix,Node.js,File,Filesystems,Posix,我有一个Node.js脚本,它以while(true)方式运行,监视特定文件的目录,并使用取消链接API将其删除: fs.unlinkSync(path); 文件不是由节点进程创建的,但正如POSIX关于取消链接的文档所述,文件在进程关闭之前不会从磁盘中删除,因此lsof将把它们列为(已删除)并绑定到节点进程 我的脚本是某种“看门狗”,因此在不重新启动节点进程的情况下,如何删除这些文件并清理磁盘空间? 谢谢 我会尝试子进程: const { execSync } = require('chil

我有一个
Node.js
脚本,它以
while(true)
方式运行,监视特定文件的目录,并使用
取消链接
API
将其删除:

fs.unlinkSync(path);
文件不是由
节点
进程创建的,但正如
POSIX
关于
取消链接
的文档所述,文件在进程关闭之前不会从磁盘中删除,因此
lsof
将把它们列为
(已删除)
并绑定到
节点
进程

我的脚本是某种“看门狗”
,因此在不重新启动
节点
进程的情况下,如何删除这些文件并清理磁盘空间?


谢谢

我会尝试
子进程

const { execSync } = require('child_process');
execSync(`rm ${filePath}`)

这正是我所想的,但去那里似乎有点难看,但不确定是否有更好的解决方案。