如果想在关闭ssh连接后刚才启动的程序继续运行怎么办,可以使用nohup。但是如果要求第二天来的时候,一开ssh,还能查看到昨天运行的程序的状态,然后继续工作,这时nohup是不行了,需要使用screen来达到这个目的。

nohup命令可以用来执行其他命令,并且忽略SIGHUP信号(run a command immune to hangups, with output to a non-tty。Run COMMAND, ignoring hangup signals.)当一个虚拟终端的网络连接断开时,操作系统向正在运行的程序发送SIGHUP信号(HUP = HangUP、挂断),默认情况下这个信号将使程序退出。

nohup

问题1为什么ssh一关闭,程序就不再运行了?
元凶:SIGHUP 信号
让我们来看看为什么关掉窗口/断开连接会使得正在运行的程序死掉。

在Linux/Unix中,有这样几个概念:
进程组(process group):一个或多个进程的集合,每一个进程组有唯一一个进程组ID,即进程组长进程的ID。
会话期(session):一个或多个进程组的集合,有唯一一个会话期首进程(session leader)。会话期ID为首进程的ID。
会话期可以有一个单独的控制终端(controlling terminal)。与控制终端连接的会话期首进程叫做控制进程(controlling process)。当前与终端交互的进程称为前台进程组。其余进程组称为后台进程组。
根据POSIX.1定义:
挂断信号(SIGHUP)默认的动作是终止程序。
当终端接口检测到网络连接断开,将挂断信号发送给控制进程(会话期首进程)。
如果会话期首进程终止,则该信号发送到该会话期前台进程组。
一个进程退出导致一个孤儿进程组中产生时,如果任意一个孤儿进程组进程处于STOP状态,发送SIGHUP和SIGCONT信号到该进程组中所有进程。
结论:因此当网络断开或终端窗口关闭后,也就是SSH断开以后,控制进程收到SIGHUP信号退出,会导致该会话期内其他进程退出。

简而言之:就是ssh 打开以后,bash等都是他的子程序,一旦ssh关闭,系统将所有相关进程杀掉!! 导致一旦ssh关闭,执行中的任务就取消了

例子:
我们来看一个例子。打开两个SSH终端窗口,在其中一个运行top命令。
[root@tivf09 root]# top

在另一个终端窗口,找到top的进程ID为5180,其父进程ID为5128,即登录shell。
[root@tivf09 root]# ps -ef|grep top
root 5180 5128 0 01:03 pts/0 00:00:02 top
root 5857 3672 0 01:12 pts/2 00:00:00 grep top

使用pstree命令可以更清楚地看到这个关系:
[root@tivf09 root]# pstree -H 5180|grep top
|-sshd-+-sshd---bash---top

使用ps-xj命令可以看到,登录shell(PID 5128)和top在同一个会话期,shell为会话期首进程,所在进程组PGID为5128,top所在进程组PGID为5180,为前台进程组。
[root@tivf09 root]# ps -xj|grep 5128
5126 5128 5128 5128 pts/0 5180 S 0 0:00 -bash
5128 5180 5180 5128 pts/0 5180 S 0 0:50 top
3672 18095 18094 3672 pts/2 18094 S 0 0:00 grep 5128

关闭第一个SSH窗口,在另一个窗口中可以看到top也被杀掉了。
[root@tivf09 root]# ps -ef|grep 5128
root 18699 3672 0 04:35 pts/2 00:00:00 grep 5128

问题2 为什么守护程序就算ssh 打开的,就算关闭ssh也不会影响其运行?
因为他们的程序特殊,比如httpd –k start运行这个以后,他不属于sshd这个进程组 而是单独的进程组,所以就算关闭了ssh,和他也没有任何关系!
[root@CentOS5-4 ~]# pstree |grep http
|-httpd
[root@CentOS5-4 ~]# pstree |grep top
|-sshd-+-sshd---bash---top

结论:守护进程的启动命令本身就是特殊的,和一般命令不同的,比如mysqld_safe 这样的命令 一旦使用了 就是守护进程运行。所以想把一般程序改造为守护程序是不可能,

问题3 使用后台运行命令& 能否将程序摆脱ssh进程组控制呢 也就是ssh关闭,后台程序继续运行?
我们做一个试验: find / -name ‘*http*’ &
利用ctrl+d 注销以后 再进入系统 会不会看见这个命令再运行?
答案是 :命令被中止了!!

因为他依然属于这个ssh进程组 就算加了&也无法摆脱!!
[root@CentOS5-4 ~]# pstree |grep find
|-sshd-+-sshd---bash---find

结论就是:只要是ssh 打开执行的一般命令,不是守护程序,无论加不加&,一旦关闭ssh,系统就会用SIGHUP终止

问题4 nohup能解决的问题
但是为了能够再注销以后 依然能后台运行,那么我们就可以使用nohup这个命令,我们现在开始查找find / -name ‘*http*’ &
,并且希望在后台运行,
那么就使用nohup:nohup find / -name "*httpd*"
此时默认地程序运行的输出信息放到当前文件夹的 nohup.out 文件中去
加不加&并不会影响这个命令 只是让程序 前台或者后台运行而已

screen

虽然nohup很容易使用,但还是比较“简陋”的,对于简单的命令能够应付过来,对于复杂的需要人机交互的任务就麻烦了。
其实我们可以使用一个更为强大的实用程序screen。流行的Linux发行版(例如Red Hat Enterprise Linux 4)通常会自带screen实用程序,如果没有的话,可以从GNU screen的官方网站下载。

1)使用
执行screen , 按任意键进入子界面;
我用ping命令开始执行,如果下班了,但是想关闭ssh以后ping继续运行,那么按ctrl+a 再按d 这样暂停了子界面,会显示[detached]的字样,这时候 我回到了父界面;
用screen –ls查看目前子界面的状态 screen -ls
There is a screen on: 22292.pts-3.free (Detached)
1 Socket in /tmp/screens/S-root,这里的22292其实是子界面的pid号;

如果回到子界面 用screen –r 22292,一下子弹到了ping 的子界面;

2)更多帮助
可以通过C-a(ctrl+a) ?来查看所有的键绑定,常用的键绑定有:

C-a ?
显示所有键绑定信息
C-a w
显示所有窗口列表
C-a C-a
切换到之前显示的窗口
C-a c
创建一个新的运行shell的窗口并切换到该窗口
C-a n
切换到下一个窗口
C-a p
切换到前一个窗口(与C-a n相对)
C-a 0..9
切换到窗口0..9
C-a a
发送 C-a到当前窗口
C-a d
暂时断开screen会话
C-a k
杀掉当前窗口
C-a [
进入拷贝/回滚模式

其他常用选项:

-c file
使用配置文件file,而不使用默认的$HOME/.screenrc
-d|-D [pid.tty.host]
不开启新的screen会话,而是断开其他正在运行的screen会话
-h num
指定历史回滚缓冲区大小为num行
-list|-ls
列出现有screen会话,格式为pid.tty.host
-d -m
启动一个开始就处于断开模式的会话
-r sessionowner/ [pid.tty.host]
重新连接一个断开的会话。多用户模式下连接到其他用户screen会话需要指定sessionowner,需要setuid-root权限
-S sessionname
创建screen会话时为会话指定一个名字
-v
显示screen版本信息
-wipe [match]
同-list,但删掉那些无法连接的会话

命令:[php]CREATE USER 'username'@'%' IDENTIFIED BY 'password';[/php]
创建一个可以任意主机连接的mysql用户

iptables设置
[php]iptables -A INPUT -p tcp -m tcp --sport 3306 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 3306 -j ACCEPT[/php]
service iptables save 保存规则
service iptables restart 重启iptables

UBUNTU 下

apt-get update
apt-get install transmission-daemon
首先启动transmission-daemon生成配置文件
/etc/init.d/transmission-daemon start
结束transmission-daemon进程,否则之后修改配置文件不会生效
/etc/init.d/transmission-daemon stop
修改配置文件 关闭白名单 修改下端口帐号密码
vi /etc/transmission-daemon/settings.json
然后启动
/etc/init.d/transmission-daemon start
登陆IP:9091

配置说明

“download-dir”: “/web/www/transmission”,, // 下载完成储存的位置

“incomplete-dir”: “/web/www/transmission/incomplete”,, // 尚未下载完成储存的位置

“blocklist-enabled”: true, // 启用黑名单

“dht-enabled”: true, // 启用DHT支援

“encryption”: 1, // 传输加密

“open-file-limit”: 64, // 最大开启档案数量

“peer-limit-global”: 240, // 最大连接数

“peer-limit-per-torrent”: 60, // 单一任务连接数

“peer-port”: 51234, // Transmission连接使用的port

“ratio-limit”: 2.0000, // 上下传比例达到多少停止做种

“ratio-limit-enabled”: false, // 启用上下传比例

“rpc-enabled”: true, // 启用网页管理模块

“rpc-bind-address”: “0.0.0.0”, // 指定IP位置

“rpc-port”: 9091, // 指定网页管理模块的port

“rpc-authentication-required”: true, // 启用使用者认证方式

“rpc-username”: “useruseruser”, // 登入的使用者名称

“rpc-password”: “passpassme”, // 登入的用户密码

“rpc-whitelist-enabled”: false, // 启用IP认证模式,这个模式是认IP的唷! 有安全需要再启动

“rpc-whitelist”: “127.0.0.1,其他可以连的IP”, // 指定认可的IP位置,以,区隔

“speed-limit-down”: 100, // 限制下载速度,以KB/Sec计算

“speed-limit-down-enabled”: false, // 启用限制下载速度

“speed-limit-up”: 100, // 限制上传速度,以KB/Sec计算

“speed-limit-up-enabled”: false, // 启用限制上传速度

“upload-slots-per-torrent”: 30 // 每个Torrent的上传连接数量

最近很多人因为内核问题安装锐速各种问题,所以特意提供匹配锐速的相应内核更换版本。

首先,OpenVZ是无法更换内核的,放弃抵抗吧~还有就是也不是所有的主机商的系统都支持更换内核的,所以如果下面方法用完后发现还是无法更换内核,也就别抵抗了。。。

PS:目前我自己用下来,Centos7小问题比较多,可能是锐速针对centos7的版本比较少。建议大家都尽量使用CentOS6.

下载更换内核

CentOS6内核更换为:2.6.32-504.3.3.el6.x86_64

[php]rpm -ivh http://soft.91yun.org/ISO/Linux/CentOS/kernel/kernel-firmware-2.6.32-504.3.3.el6.noarch.rpm
rpm -ivh http://soft.91yun.org/ISO/Linux/CentOS/kernel/kernel-2.6.32-504.3.3.el6.x86_64.rpm --force[/php]

CentOS7内核更换为: 3.10.0-229.1.2.el7.x86_64

[php]rpm -ivh http://soft.91yun.org/ISO/Linux/CentOS/kernel/kernel-3.10.0-229.1.2.el7.x86_64.rpm --force[/php]

查看内核是否安装成功

[php]rpm -qa | grep kernel[/php]

如果显示里面有这个内核就对了。

centoskernel1

重启,查看内核是否更换成功

[php]reboot[/php]

[php]uname -r[/php]

如何查找想要的内核?

在google中搜索:

site:centos.org 你需要的内核

原文链接:http://www.91yun.org/archives/795

1、交朋友的标准是什么?
答:出世的智者,入世的强者,或者正常而阳光的普通人。

2、男性更看重女性的身材、脸蛋,还是思想?
答:脸蛋和身材决定了我是否想去了解她的思想,思想决定了我是否会一票否决掉她的脸蛋和身材。

3、“别让孩子输在起跑线上”有道理吗?
答:一辈子都要和别人去比较,是人生悲剧的源头。

4、做哪些事情可以提升生活品质?
答:定期扔东西。

5、结婚以后两个人在一起最重要的是什么?
答:就当这婚还没结。

6、怎么反驳“你行你上啊”的逻辑?
答:“我评论个电冰箱,自己还得会制冷啊?”

7、把学费拿来念书还是环游世界更合适?为什么?
答:读书在没有充分的知识作为前提的情况下,即使行了万里路也不过是邮差而已。

8、为什么部分人会产生“聪明智慧的姑娘都被憨憨的小伙儿搞定了”的印象?
答:严肃地说,我觉得,要么姑娘只是看起来聪明,要么小伙儿只是看起来憨……

9、你心中的完美爱情是怎么样的?
答:可以有不完美。

10、异国长期生活,改变了你的哪些“是非观”?
答:很多事情只是不同,并无是非。

11、是不是一个人越成熟就越难爱上一个人?
答:不是越成熟越难爱上一个人。是越成熟,越能分辨那是不是爱。

12、如何让这个世界变得美好?
答:把你自己变得更美好。

13、苦难有什么价值?
答:永远不要相信苦难是值得的,苦难就是苦难,苦难不会带来成功。苦难不值得追求,磨练意志是因为苦难无法躲开。

14、如何反驳“现实点,这个社会就是这样”?
答:“你是怎样,你的世界就是怎样。”

15、你对自由的理解是什么?
答:说“不”的能力。

16、怎么看待励志的书籍?
答:看再多,那都是别人的人生。

17、同样是别人比自己强,为什么有时会产生嫉妒心理,而有时会产生崇拜?
答:远的崇拜,近的嫉妒;够不着的崇拜,够得着的嫉妒;有利益冲突的嫉妒,没利益冲突的崇拜。

18、为什么当看到好照片时人们通常的反应是“真不错,你用的是什么相机”,当看到烂照片时,则往往笑话拍摄者水平很臭?
答:人习惯性地将自己的成功归因于自身,失败归因于环境;而将他人的成功归因于环境,失败归因于其自身。

19、怎样在有效提出推荐或建议的同时,避免给人灌输和强迫的感觉?
答:说服他人不要诉诸理性,应求于利益。

20、哪些技能,经较短时间的学习,就可以给人的生活带来巨大帮助?
答:夸奖他人。

21、你是如何走出人生的阴霾的?
答:多走几步。

22、二十六岁,工作三年却将留学三年,值得吗?
答:普通玩家选择标准配置,高端玩家选择自定义配置。

23、如何看待“年轻时就释怀与淡泊,是没有希望的”这句话?
答:试图用一句话就来总结复杂的人生,是没有希望的。

24、要怎样努力,才能成为很厉害的人?
答:如果你注定要成为厉害的人,那问题的答案就深藏在你的血脉里;如果你注定不是厉害的人,那你便只需要做好你自己。

25、前半生与后半生的分界线是在哪里?
答:此时此刻。

26、你遇到过哪些让你眼前一亮、醍醐灌顶或对你改变很大的理念?
答:天赋决定了你能达到的上限,努力程度决定了你能达到的下限。以绝大多数人的努力程度之低,远远没有达到要去拼天赋的地步。

27、人这一生为什么要努力?
答:最痛苦的事,不是失败,是我本可以。

28、在一个足够小的星球上行走,我们是在上坡还是下坡?
答:你感觉累就是上坡,感觉轻松就是下坡。

29、听过最落寞的一句话或诗句是什么?
答:不如意事常八九,可与言者无二三。

30、世界上有那么多好书好电影好动漫注定看不完,我们对这个事实该持何种态度?
答:怕什么真理无穷,进一寸有一寸的欢喜。——胡适

31、三十岁才开始学习编程靠谱吗?
答:种一棵树最好的时间是十年前,其次是现在。

32、向喜欢的女生表白被拒绝了,还是喜欢她,怎么办?
答:也许你弄错了什么是表白,表白应该是最终胜利时的号角,而不应该是发起进攻的冲锋号。

33、省钱的好办法有哪些?
答:在买任何东西之前牢记九字箴言:你喜欢,你需要,你适合。PS:适用于很多事,包括感情也一样。

34、王阳明的“知行合一”到底如何理解?又怎样运用到实际生活中?
答:知道做不到,等于不知道。

35、什么叫见过大世面?
答:能享受最好的,能承受最坏的。

36、科学和迷信的分界点是哪里?
答:我错了。

37、扎克伯格初期是怎么保护 Facebook 的最初创意?为什么Facebook 上线后没被其他大公司抄走?
答:保护创意的最好方法,就是将其最好地执行。

38、员工辞职最主要的原因是什么?
答:钱少事多离家远,位低权轻责任重。

39、你在生活中得到过的最好的建议是什么?
答:“过度自我关注是万恶之源”、“永远不要为尚未发生的事儿拧巴”、“觉得为时已晚的时候,恰恰是最早的时候”。

40、哪些行为是浪费时间?
答:思而不学+犹豫不决。

41、最能燃起你学习激情的一句话是什么?
答:你不能把这个世界,让给你所鄙视的人。

42、如果好人没好报,我们为什么还要做好人?
答:我们坚持一件事情,并不是因为这样做了会有效果,而是坚信,这样做是对的。——哈维尔

43、恋爱半年,女朋友觉得没有了开始时的新鲜感,怎么办?
答:所谓新鲜感,不是和未知的人一起去做同样的事情,而是和已知的人一起去体验未知的人生。

44、为什么大家都要上大学找工作,而不太喜欢开出租车、开小店、开饭馆、摆街边早餐小吃摊等“短平快”项目?
答:“孩子,我要求你读书用功,不是因为我要你跟别人比成绩,而是因为,我希望你将来会拥有选择的权利,选择有意义、有时间的工作,而不是被迫谋生。当你的工作在你心中有意义,你就有成就感。当你的工作给你时间,不剥夺你的生活,你就有尊严。成就感和尊严,给你快乐。”——龙应台

45、情商不高的例子有哪些?
答:对陌生人毕恭毕敬,对亲近的人随意发怒……

46、如何看待“年轻的时候需要的是朋友而不是人脉”?
答:没有目的之交往,才能感动人。

47、有哪些道理是你读了不信,听不进去,直到你亲身经历方笃信不疑的?
答:不要低估你的能力,不要高估你的毅力。

48、有哪些我们熟知的名言其实还有后半句?
答:“人是生而自由的”,下一句是:“但无往不在枷锁之中”,再下一句是:“自以为是其他一切主人的人,反而比其他一切更是奴隶。”