相关疑难解决方法(0)

如何打开"nul"文件?

我需要创建一个新的进程,将标准错误流重定向到某个文件.正在创建子进程的代码没有可用的控制台,因此有些情况下GetStdHandle(any)将返回0.由于某种原因,子进程将尝试复制其所有标准IO句柄(子进程的源代码不可用)所以它的所有句柄都应该是有效的.

因此,我需要以与从控制台运行的方式相同的方式运行该过程:

someproc <nul >nul 2>err
Run Code Online (Sandbox Code Playgroud)

我看到了一些方法:1.创建两对管道.这可能是一个很好的解决方案,但对我来说太复杂了.2.使用CreateFile("nul",...)函数调用打开"nul"文件.此调用没有创建文件,但这看起来很奇怪.3.使用INVALID_HANDLE_VALUE.这也有效,但我认为另一个子进程可能存在不同的问题.

我相信有更好的方法.

winapi

5
推荐指数
1
解决办法
2363
查看次数

通过管道将流传送到任何地方

我有一个数据流,我需要将其写入任何地方,但又不能立即停止它。下面的代码写入一个文件,因此只要流正在运行,它就会保持连接处于活动状态。

 request
.get(href)
.on('response', function(response) {
    console.log(response.statusCode)
    console.log(response.headers['content-type'])
})
.pipe(fs.createWriteStream("name.mp3"))
Run Code Online (Sandbox Code Playgroud)

是否可以将该流传输到任何地方,同时仍然保持连接fs.createWritableStream

我尝试使用 dev-null (npm 包),但它似乎会立即终止连接。

javascript node.js

5
推荐指数
1
解决办法
1250
查看次数

如何在 Windows (10) 上写入 NULL 设备/文件,以便我**不能**读回写入的内容?

Windows 确实有一个空设备的概念,例如此处此处此处详细介绍。我能找到的所有示例都是关于重定向流的。

在将脚本从 Linux 移植到 Windows 时,我遇到了一些奇怪的事情:如果nul像文件一样打开,我会写入它,关闭它,重新打开它并读回数据。有时。检查工作目录,我可以看到一个名为 的文件nul正在创建,并且随着我向其中写入数据而不断增长。具有讽刺意味的是,我无法从资源管理器中删除它,只能从命令行中删除它。

如今,Windows 10 附带了 OpenSSH 的本机实现。我想使用一个老技巧:当它查找文件时known_hosts,我想将其指向一个空设备。在 Linux 上,这看起来如下ssh -o UserKnownHostsFile=/dev/null user@host:在 Windows 上,我测试如下ssh -o UserKnownHostsFile=nul user@host:我得到了一个名为nul包含主机的文件。我也尝试过NULnull结果NULL相同。试图指向\Device\Null/Device/Null导致ssh抱怨它无法找到/打开这些文件。

如何在 Windows (10) 上正确使用和/或指向空设备?

windows dev-null

3
推荐指数
1
解决办法
3243
查看次数

标签 统计

dev-null ×1

javascript ×1

node.js ×1

winapi ×1

windows ×1