声明:本人用的是Ubuntu 14.04 LTS 系统。

一、Nodejs安装:

  <1>直接apt-get安装,最简单:sudo apt-get install nodejs

  <2>编译安装

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build_essential openssl libssl-dev pkg-config
wget http://nodejs.org/dist/v0.12.2/node-v0.12.2-linux-x64.tar.gz
tar -zxvf node-v0.12.2-linux-x64.tar.gz
cd node-v0.12.2-linux-x64
./configure
make
sudo make install

  验证是否安装成功:

mesogene@mesogene-team:~/nodejs-workspace/$ node -v
v0.12.1
mesogene@mesogene-team:~/nodejs-workspace/$ npm -version
2.5.

参考https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager

二、Hello World程序

mesogene@mesogene-team:~/nodejs-workspace/$ cat app.js
var http = require('http');
http.createServer(function(req, res){
// content header
res.writeHead(, { 'Content-Type':'text/html' });
// write message adn signal communication is complete
res.end('Hello World!');
}).listen(process.env.PORT || );
// }).listen(8124); console.log('Server running on 8124');

  使用node app.js后,可在浏览器地址栏输入:http://localhost:8124/ 以查看结果。

  如果直接在命令行使用node app.js,它会占用我一个命令行窗口。有时,我不想其占用那个窗口,我们可以将node程序转为后台运行,那就的使用nohup命令来帮忙了。用法如下:

mesogene@mesogene-team:~/nodejs-workspace/$ nohup node app.js &
[]
[] Terminated nohup node app.js > ./log
mesogene@mesogene-team:~/nodejs-workspace/$ nohup: ignoring input and appending output to ‘nohup.out’ mesogene@mesogene-team:~/nodejs-workspace/$

  或者:将输入重定向到当前目录的log文件中。

mesogene@mesogene-team:~/nodejs-workspace/$ nohup node app.js > ./log &
[]
mesogene@mesogene-team:~/nodejs-workspace/$ nohup: ignoring input and redirecting stderr to stdout mesogene@mesogene-team:~/nodejs-workspace/$ cat log
Server running on

  问题来了,我如何杀死正在运行的node app.js呢?

  当然,需借助GNU/Linux shell命令的帮忙:ps和kill(nohup也是GNU/Linux shell命令)。

mesogene@mesogene-team:~/nodejs-workspace/$ ps -ef | grep node
root : ? :: /sbin/mount.ntfs /dev/sdc2 /media/mesogene/Richard -o rw,nosuid,nodev,uhelper=udisks2,uid=,gid=,dmask=,fmask=
root : ? :: /sbin/mount.ntfs /dev/sdc1 /media/mesogene/Richard1 -o rw,nosuid,nodev,uhelper=udisks2,uid=,gid=,dmask=,fmask=
mesogene : pts/ :: node
mesogene : pts/ :: node app.js
mesogene : pts/ :: grep --color=auto node
mesogene@mesogene-team:~/nodejs-workspace/$ kill
mesogene@mesogene-team:~/nodejs-workspace/$

扩展:ps与kill命令

一、ps命令比较复杂,用Unix、BSD和GNU三种使用风格,下面主要列出简单用法,下一次单独写ps用法。以下是ps的两种常用方法:

  ps -ef(Unix风格),UID代表:启动进程的用户、PID:进程号、PPID:父进程号、C:进程生命周期CPU利用率...

mesogene@mesogene-team:~$ ps -ef
UID PID PPID C STIME TTY TIME CMD
root : ? :: /sbin/init
root : ? :: [kthreadd]
root : ? :: [ksoftirqd/]
root : ? :: [kworker/:]
root : ? :: [kworker/:0H]

  ps ax(BSD风格)输出的第一列是ProcessID即PID,进程号。第三列是进程当前状态(S代表睡眠,SW代表在睡眠和等待,R代表在运行中)

mesogene@mesogene-team:~$ ps ax
PID TTY STAT TIME COMMAND
? Ss : /sbin/init
? S : [kthreadd]
? S : [ksoftirqd/]
? S : [kworker/:]
? S< : [kworker/:0H]
? S : [rcu_sched]
? S : [rcuos/]
? S : [rcuos/]

二、kill与killall(结束进程)

kill使用方法是:kill  [PID],kill只能通过进程号PID结束进程。

mesogene@mesogene-team:~$ kill 

killall使用方法:killall [ProcessName],killall只能通过进程名来结束进程。killall支持通配符。

mesogene@mesogene-team:~$ killall http*      #结束所有以http开头的进程。

最新文章

  1. 【HTML5&amp;CSS3进阶04】CSS3动画应该如何在webapp中运用
  2. CloudNotes:一个云端个人笔记系统
  3. Vector3.forward
  4. Linux一些零碎
  5. Java异常信息处理
  6. CCF真题之日期计算
  7. Sqoop导数据出现的问题
  8. django-url调度器-高级篇
  9. 《MFC游戏开发》笔记八 游戏特效的实现(二):粒子系统
  10. 8款HTML5动画特效推荐源码
  11. js基本框架
  12. [C#] 网页Html转PDF档(一行程式码解决)
  13. Node.js中的console.log()输出彩色字体
  14. 查看系统cpu性能top和多核cpu使用性能
  15. 幽灵自建的html5 的模板文件!
  16. php 实现简单购物车功能(2)
  17. 【maven】Maven中的dependencyManagement
  18. 测试rar/bz2/tar.gz/gz压缩文档完整性
  19. Guava包学习--Table
  20. 五、oracle 表管理

热门文章

  1. SharePoint 2013的100个新功能之场管理
  2. OMNeT++安装教程
  3. 聚类算法初探(四)K-means
  4. UVA 820 Internet Bandwidth
  5. SQL语句优化(转摘)
  6. 【转】jQuery on()选择器函数
  7. Android ImageView图片自适应
  8. Javascript中undefined,NaN等特殊比较
  9. [ZT]DAS\NAS\IP SAN\FC SAN之区别
  10. 解决Linux文档显示中文乱码问题以及编码转换