问题标签 [mkstemp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 文件创建并不总是成功
我需要在/tmp
路径中创建 1000 个临时文件。下面是我使用 mkstemp 的方法(不受竞争条件的影响),但文件创建仅限于 500 个,其余的都失败了。
注意:我在完成工作后删除了文件。
有人可以解释为什么这种方法会失败并提出更好的方法(如果有的话)吗?
linux - Linux - mkstemp64 如何创建隐藏文件,如何在文件系统中看到它
背景:
在 CentOS 7 x86_64 上。我正在使用applydeltarpm
,并且在从增量创建新 RPM 时磁盘空间不足。我在应用过程中观察到/
磁盘空间使用率增加到 100%,但无法使用ls -l /tmp
或找到卷上的工作/临时文件find /tmp -mmin -1 -type f
。
我将applydeltarpm
源代码更改为使用/var/tmp
而不是/tmp
,并重建了 RPM。现在 apply 与 modified 一起工作applydeltarpm
,因为/var/tmp
有更多的磁盘空间。但我仍然找不到使用创建的临时文件mkstemp64
。
问题:
创建的临时文件mkstemp64
似乎“不存在”,但仍然作为创建者的文件描述符存在,并且在applydeltarpm
创建大型 RPM 时使用了相当大的磁盘空间(在慢速磁盘上应用 1 小时)。文档说创建了mkstemp64
一个实际文件。并且源代码显示模板文件名为/tmp/deltarpmpageXXXXXX
. 但是不存在具有该模板名称的文件。
这个临时文件如何能够在系统上创建而不用通常的目录列表找到ls
,或者find
. 我怎样才能在系统中找到这些“不存在”的文件?
(我很好奇,因为我也在监控系统安全)
参考:
https://github.com/rpm-software-management/deltarpm/blob/master/applydeltarpm.c
https://www.mkssoftware.com/docs/man3/mkstemp.3.asp
mktemp() 函数根据模板参数返回一个唯一的文件名。在生成它时,当前目录中没有文件具有该名称。实际上没有创建文件,因此其他应用程序可能会创建具有此名称的文件。
mkstemp() 函数与 mktemp() 类似,它基于模板创建一个唯一的文件名;然而, mkstemp() 实际上创建文件并返回它的文件描述符。创建的文件的名称存储在模板中。
mkstemp64() 函数与 mkstemp() 函数相同,只是打开文件时设置了 O_LARGEFILE 标志。
c++ - EiffelStudio 编译错误:使用 `tempnam' 很危险,最好使用 `mkstemp'
我正在使用通过 Arch 中的 AUR 安装的 eiffelstudio-bin 17.05.100416-1。
当我尝试运行默认的 hello world 项目时,错误列表选项卡中出现此错误:
在“输出”选项卡的“外部编译”下:
显然,hello world 程序不起作用。
我正在使用 gcc 7.2.1+20171224-2,如果它有用的话。
我能做些什么?
提前致谢。
python - Pycharm - 无法连接到控制台进程
在Tools中按 Python 控制台时,我无法连接到控制台进程。
解释器尝试“导入 mkdtemp,mkstemp”但无法导入mkdtemp
我试图检查项目的设置是否有问题,但找不到。
python - tempfile.mkstemp 权限设置
我tempfile.mkstemp
用来生成一个随机可用的文件名并用os.fdopen
. 然后我通过将文件名传递给任务celery
。
此任务打开文件,处理内容,最后删除文件。在测试这工作正常,但是我意识到这将在我的实时环境中中断,其中运行任务的用户与创建文件的用户不同。
这意味着用户无法打开文件,因为tempfile.mkstemp
将权限设置为600
( -rw-------
)。
我不能让两个进程由同一个用户运行,那么有什么方法可以修改由设置的文件权限tempfile.mkstemp
吗?
我在 Ubuntu 14.04 上运行 Python 3.6。
c++ - Windows 的 mkstemp() 实现以写入临时文件
我想通过 C++ 在 Windows 中的给定临时目录路径中创建临时文件。mktemp()
完成所需的工作,但它只创建 26 个唯一文件。mkstemp()
在 Linux 中运行良好,但在 Windows 中没有。所以请帮助我mkstemp()
在 Windows 中使用功能或建议替代方案?
python - 用 mkstemp 指定文件名,找不到文件
我需要能够创建一个具有指定文件名的临时文件并将数据写入其中,然后将带有文件名的文件与其他文件一起压缩:
我想我一定是误解了 mkstemp 的工作原理,我在这里的第一行代码中得到了错误:
FileNotFoundError: [Errno 2] No such file or directory: '~/path/to/working/directory/filenameq5st7dey.bin'
在将后缀放在文件上之前,看起来一堆垃圾被添加到文件名中。我已经尝试过不带后缀的方法,但文件名末尾仍然有垃圾。
除了文件名中的垃圾之外,为什么我会收到文件未找到错误,而不是在我的目录中创建一个具有该名称的临时文件(加上垃圾)?
mkstemp - 无法创建临时文件 - mkstemp:没有这样的文件或目录
在 centos 中安装软件包时yum install <package>
它不起作用并抛出错误为 Cannot create temporary file - mkstemp: No such file or directory