Articles of 操作系统

当同步I / O调用还没有返回时,CPU做什么?

CPU是否继续检查某些状态以查看I / O调用是否被返回? 我问这个问题只是因为我想了解为什么asynchronous模式服务器(如nodejs)可以处理更多的并发请求。 如果在没有返回同步I / O调用的情况下CPU空闲,那么服务器可以启动一个新线程来处理新的请求,因为它仍然有足够的CPU资源。

如何获得权限来创build一个文件/目录与节点FS

在我的打包电子应用程序中运行以下内容时: fs.mkdirSync('myNewDirectory'); 我不断得到EACCES: permission denied, mkdir 。 当我处于开发模式时,不会发生这种情况。 它只发生在我打包和运行应用程序。 我如何获得适当的权限来创build一个目录,甚至一个文件,在打包电子应用程序?

JavaScript中的`new`做什么呢?

我很困惑如何构造函数在Javascrpt中工作; 尽pipe使用了几年的语言(大部分就好像它是LISP的半必要版本),但我想知道更多关于对象应该如何工作的知识。 鉴于此代码: function Foo(x) { return { bar: function() { return x; } }; } 调用myFoo = Foo(5)和myFoo = new Foo(5)什么myFoo = new Foo(5) ? 或者换句话说,Javascript中的构造函数究竟做了什么 ?

在将工作目录更改为临时文件夹时,意外地出现在“专用”文件夹中

尝试使用Node.js创build工作目录并将其更改为临时文件夹时,出现了一些意外的结果。 这是一些代码: var path = require('path') var fse = require('fs-extra') var TEST_DIR = path.join(os.tmpdir(), 'mydir') // creates temp path fse.emptyDirSync(TEST_DIR) // creates the dirs recursively process.chdir(TEST_DIR) // changes the CWD assert.equal(process.cwd(), TEST_DIR) // assert that these are the same 这是什么被返回: AssertionError: '/private/var/folders/jt/043tcrbs3m386w8kxjlf3jz00000gn/T/mydir' == '/var/folders/jt/043tcrbs3m386w8kxjlf3jz00000gn/T/mydir' + expected – actual -/private/var/folders/jt/043tcrbs3m386w8kxjlf3jz00000gn/T/recursive-deps +/var/folders/jt/043tcrbs3m386w8kxjlf3jz00000gn/T/recursive-deps 由于某些原因, TEST_DIR没有private前缀,并且CWD在private前面。 这里发生了什么事?

Node.js – 如何跨平台find'桌面'目录的path?

如https://stackoverflow.com/a/32556337/103396所述 , require('os').homedir()是获取用户主目录的方式。 在Windows中,桌面path将位于user_home_dir/Desktop : require('path').join(require('os').homedir(), 'Desktop') 这将在其他平台上工作吗?

始终显示托盘图标

我正在使用Electron编写OSX应用程序,主要关注托盘。 基本上,它只显示当前应用程序正在使用,我怎么能设置它,使其独立于窗口?

如何移动npm node_modules文件夹跨平台?

我的客户有一个非常特殊的要求。 我们一直在使用npm来安装karma和phantomjs。 一切工作正常,直到我们必须将所有的东西从云端迁移到内部基础设施。 现在事情变得复杂了。 内部基础设施没有互联网访问,所以我们不能使用npm来解决依赖关系了。 我们尝试将node_modules文件夹开发机器移动到内部基础架构机器上。 它没有工作,因为开发机器是OSX和Windows,服务器是Centos和phantomjs是OS特定的,但npm是能够锻炼的版本。 我们有什么select来解决依赖关系? 我只知道node_modules的名字是不能改变的。 我正在考虑检查特定于操作系统的node_modules,但这是行不通的,因为npm只查找node_modules文件夹。 我得到了同样的错误,因为这个线程PhantomJS崩溃 – 退出代码126当我试图从CentOS中使用OSX的node_modules。

你如何设置Node.js的terminal标签标题?

我知道这可以从terminal手动完成使用: echo -n -e "\033]0;My terminal tab title\007" 我试图把它放到console.log和process.stdout.write然后摆弄出来,但是我无法让它工作。

将Node.js中os.cpus()的输出转换为百分比

有没有办法将os.cpus()信息转换为百分比? 就像iostat的输出(在CPU部分)。 我的代码: var os = require('os'); console.log(os.cpus()); 输出: [ { model: 'MacBookAir4,2', speed: 1800, times: { user: 5264280, nice: 0, sys: 4001110, idle: 58703910, irq: 0 } }, { model: 'MacBookAir4,2', speed: 1800, times: { user: 2215030, nice: 0, sys: 1072600, idle: 64657440, irq: 0 } }, { model: 'MacBookAir4,2', speed: 1800, times: { […]

在node / Grunt中执行操作系统特定的脚本

我有一个Grunt任务在本地机器上执行.cmd文件来做它的事情。 我需要在CI服务器上使用这个任务,这是一台Linux机器。 我有相关的.sh(用于Linux的shell脚本)。 我需要一种方法来执行这两个不更改我的Gruntfile。 目前,我必须更改我的Gruntfile,使其在本地为Windows和远程文件使用.sh。 任何解决scheme做同样是受欢迎的。 检测底层操作系统? 或者调用相同的命令,内部调用特定于操作系统的命令?