从 PhantomJS 获取 unix 主机名
Get unix hostname from PhantomJS
我使用 PhantomJS 开发了一个将在 Unix 服务器上执行的脚本。
从 PhantomJS,我想获取由 hostname
命令返回的 Unix 系统的名称。
我这样做
var childProcess = require('child_process')
childProcess.execFile("hostname", [""], null, function (err, stdout, stderr) {
console.log("execFileSTDOUT:", JSON.stringify(stdout))
console.log("execFileSTDERR:", JSON.stringify(stderr))
console.log("execFileERR:", JSON.stringify(err))
})
但是没有任何显示。
丢失第二个和第三个参数(你没有发送任何东西所以没关系)
var childProcess = require('child_process')
childProcess.execFile("hostname", [], {}, function (err, stdout, stderr) {
console.log("execFileSTDOUT:", JSON.stringify(stdout))
console.log("execFileSTDERR:", JSON.stringify(stderr))
console.log("execFileERR:", JSON.stringify(err))
})
// execFileSTDOUT: "YourPuterName\n"
记住 execFile
是异步的。如果您要退出 PhantomJS 脚本,则需要在回调中执行此操作。此外,""
不是有效的主机名。您可以使用空参数列表:
var childProcess = require('child_process')
childProcess.execFile("hostname", [], null, function (err, stdout, stderr) {
console.log("execFileSTDOUT:", JSON.stringify(stdout))
console.log("execFileSTDERR:", JSON.stringify(stderr))
console.log("execFileERR:", JSON.stringify(err))
phantom.exit();
})
输出:
execFileSTDOUT: "myhostname\n"
execFileSTDERR: ""
execFileERR: null
已使用 PhantomJS 1.9.7 和 2.0.1 进行测试。
我使用 PhantomJS 开发了一个将在 Unix 服务器上执行的脚本。
从 PhantomJS,我想获取由 hostname
命令返回的 Unix 系统的名称。
我这样做
var childProcess = require('child_process')
childProcess.execFile("hostname", [""], null, function (err, stdout, stderr) {
console.log("execFileSTDOUT:", JSON.stringify(stdout))
console.log("execFileSTDERR:", JSON.stringify(stderr))
console.log("execFileERR:", JSON.stringify(err))
})
但是没有任何显示。
丢失第二个和第三个参数(你没有发送任何东西所以没关系)
var childProcess = require('child_process')
childProcess.execFile("hostname", [], {}, function (err, stdout, stderr) {
console.log("execFileSTDOUT:", JSON.stringify(stdout))
console.log("execFileSTDERR:", JSON.stringify(stderr))
console.log("execFileERR:", JSON.stringify(err))
})
// execFileSTDOUT: "YourPuterName\n"
记住 execFile
是异步的。如果您要退出 PhantomJS 脚本,则需要在回调中执行此操作。此外,""
不是有效的主机名。您可以使用空参数列表:
var childProcess = require('child_process')
childProcess.execFile("hostname", [], null, function (err, stdout, stderr) {
console.log("execFileSTDOUT:", JSON.stringify(stdout))
console.log("execFileSTDERR:", JSON.stringify(stderr))
console.log("execFileERR:", JSON.stringify(err))
phantom.exit();
})
输出:
execFileSTDOUT: "myhostname\n"
execFileSTDERR: ""
execFileERR: null
已使用 PhantomJS 1.9.7 和 2.0.1 进行测试。