三木社区

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 344|回复: 0
打印 上一主题 下一主题

process.kill(pid[, signal])

[复制链接]

1562

主题

1564

帖子

4904

积分

博士

Rank: 8Rank: 8

积分
4904
跳转到指定楼层
楼主
发表于 2017-8-14 08:28:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
发送信号给进程. pid 是进程id,并且 signal 是发送的信号的字符串描述。信号名是字符串,比如'SIGINT' 或 'SIGHUP'。如果忽略,信号会是 'SIGTERM'.更多信息参见 Signal 事件 和 kill(2) .
如果进程没有退出,会抛出错误。信号 0 可以用来测试进程是否存在。
注意,虽然这个这个函数名叫process.kill,它真的仅是信号发射器,就像kill 系统调用。信号发射可以做其他事情,不仅是杀死目标进程。
例子, 给自己发信号:
  1. process.on('SIGHUP', function() {
  2.   console.log('Got SIGHUP signal.');
  3. });

  4. setTimeout(function() {
  5.   console.log('Exiting.');
  6.   process.exit(0);
  7. }, 100);

  8. process.kill(process.pid, 'SIGHUP');
复制代码
注意: 当 Node.js 接收到 SIGUSR1 信号,它会开启 debugger 调试模式, 参见Signal Events.
process.pid
当前进程的 PID
  1. console.log('This process is pid ' + process.pid);
复制代码
process.title
获取/设置(Getter/setter) 'ps' 中显示的进程名。
使用 setter 时,字符串的长度由系统指定,可能会很短。
在 Linux 和 OS X 上,它受限于名称的长度加上命令行参数的长度,因为它会覆盖参数内存(argv memory)。
v0.8 版本允许更长的进程标题字符串,也支持覆盖环境内存,但是存在潜在的不安全和混乱(很难说清楚)。
process.arch
当前 CPU 的架构:'arm'、'ia32' 或者 'x64'.
  1. console.log('This processor architecture is ' + process.arch);
复制代码
process.platform
运行程序所在的平台系统 'darwin', 'freebsd', 'linux', 'sunos' or 'win32'
  1. console.log('This platform is ' + process.platform);
复制代码
process.memoryUsage()
返回一个对象,描述了 Node 进程所用的内存状况,单位为字节。
  1. var util = require('util');

  2. console.log(util.inspect(process.memoryUsage()));
复制代码
将会生成:
  1. { rss: 4935680,
  2.   heapTotal: 1826816,
  3.   heapUsed: 650472 }
复制代码
heapTotal and heapUsed refer to V8's memory usage.

回复

使用道具 举报

Archiver|手机版|小黑屋|三木电子社区 ( 辽ICP备11000133号-4 )

辽公网安备 21021702000620号

GMT+8, 2025-11-2 00:40 , Processed in 0.027251 second(s), 22 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表