Linux使用小笔记<进程操作篇>
问题一: 查看哪个进程占用了哪个端口、以及杀掉进程
1.查看占用端口: sudo lsof -i :80
lsof 命令 是 list open files的意思
比如:
lsof filename 显示打开指定文件的所有进程
lsof -i 用以显示符合条件的进程情况(4、6、协议、:端口、 @ip )
2. 根据PID杀掉进程: sudo kill 1000 (进程号)
kill 命令 语法是 kill [信号或选项] PID(s)
使用 kill -l 查看所有的信号
比如杀掉一个进程是 kill SIGKILL PID 或者 kill -9 PID 这里的-9代表着 SIGKILL
另外还有pkill命令 ,是用来杀掉匹配名字的进程,可以用用正则匹配名字
还有killall 是杀掉所有同名的
问题二:让进程在后台运行
开启终端执行一个较长的命令(或登录远程服务器执行命令),然后一关终端结果任务也终止了。但是我们的想法是让它在后台执行,而且关掉终端也不会终止。
关掉终端会终止任务的原因:当用户注销(logout)或者网络断开时,终端会收到 HUP(hangup)信号从而关闭其所有子进程。所以解决办法就有两种途径:要么让进程忽略 HUP 信号,要么让进程运行在新的会话里从而成为不属于此终端的子进程。
解决命令:使用 nohup 或者 setsid
一、nohup
nohup 的使用是十分方便的,只需在要处理的命令前加上 nohup 即可,标准输出和标准错误缺省会被重定向到 nohup.out 文件中。可用">filename 2>&1"
来更改缺省的重定向文件名。而在结尾 添加 ' & ' 这个字符可以让命令在后台运行
例如:
nohup python3 manage.py runserver .... &
这个进程的父id仍然是这个终端的pid。
二、setsid
setsid ping www.ibm.com
这个任务的父id是init进程的id 即 1,与上一个命令比较有所不一样。
另外:这里还有一个关于 subshell 的小技巧。我们知道,将一个或多个命名包含在“()”中就能让这些命令在子 shell 中运行中,从而扩展出很多有趣的功能,我们现在要讨论的就是其中之一。
例如
(ping www.ibm.com &)
会发现新提交的进程的父 ID(PPID)为1(init 进程的 PID),并不是当前终端的进程 ID。因此并不属于当前终端的子进程,从而也就不会受到当前终端的 HUP 信号的影响了。
出处: http://www.ibm.com/developerworks/cn/linux/l-cn-nohup/
Linux使用小笔记<进程操作篇>的更多相关文章
- Linux使用小笔记<安装篇>
问题一:在windows下删除ubuntu并修复引导windows启动. 1. 下载MBRFix工具,放在c盘,利用命令提示符,进入软件所在目录,cd c:\mbrfix 2.输入 MBRFix /d ...
- linux c学习笔记----进程创建(fork,wait,waitpid)
1.pid_t fork(); (1)当一个进程调用了fork 以后,系统会创建一个子进程.这个子进程和父进程不同的地方只有他的进程ID 和父进程ID,其他的都是一样.就象符进程克隆(clone)自己 ...
- 进程操作篇atexit execl exit fprintf fscanf getpid nice get priority printf setpid system vfork wait waitpid
atexit(设置程序正常结束前调用的函数) 相关函数 _exit,exit,on_exit 表头文件 #include<stdlib.h> 定义函数 int atexit (void ( ...
- Redis学习笔记-数据操作篇(Centos7)
一.基本操作 1.插入数据 127.0.0.1:6379> set name cos1eqlg0 OK 这样就在redis中设置了一个key-value键值对 2.查询数据 127.0.0.1: ...
- JavaEE学习笔记---数据库操作篇
测试JDBC和SQLServer的插入操作,源码如下: import java.sql.Connection;import java.sql.DriverManager;import java.sql ...
- Linux基础-简单的进程操作
任务:查找一个名为firewall的进程,并且将其强制杀死 首先要使用ps -aux来查询firewall的进程ID(|grep firewall) 这样我们就得到了firewall的进程ID是653 ...
- linux shell 学习笔记--比较操作
整数比较 -eq 等于,如:if [ "$a" -eq "$b" ] -ne 不等于,如:if [ "$a" -ne "$b&qu ...
- Linux命令学习笔记目录
Linux命令学习笔记目录 最近正在使用,linux,顺便将用到的命令整理了一下. 一. 文件目录操作命令: 0.linux命令学习笔记(0):man 命令 1.linux命令学习笔记(1):ls命令 ...
- Linux实战教学笔记05:远程SSH连接服务与基本排错(新手扫盲篇)
第五节 远程SSH连接服务与基本排错 标签(空格分隔):Linux实战教学笔记-陈思齐 第1章 远程连接LInux系统管理 1.1 为什么要远程连接Linux系统 在实际的工作场景中,虚拟机界面或物理 ...
随机推荐
- 论MySQL数据库中两种数据引擎的差别
InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定. 基本的差别为: MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持. MyISAM类型的表强 ...
- 小结IE6的坑
1.z-index在position:relative/absolute等定位属性设置后还是无效,会导致top栏的导航栏目的子菜单被下面的层遮住,无法显示:解决办法:?http://www.wufan ...
- Delphi 中的常用事件
OnActive 焦点称到窗体或控件时发生 OnClick 鼠标单击事件 OnDbClick 鼠标双击事件 OnClose和OnCloseQuery 当关闭一个窗体时就会响应OnClose和OnClo ...
- jQuery学习笔记之jQuery.fn.init()的参数分析
这篇文章主要介绍了jQuery.fn.init()的参数分析,需要的朋友可以参考下 从return new jQuery.fn.init( selector, context, rootjQuer ...
- lepus3.7 天兔监控安装手册 CentOS6.5+mysql5.6
lepus3.7 天兔监控安装配置手册 CentOS6.5+mysql5.6 整体环境 192.168.1.250为监控机 192.168.1.248为被监控机 安装LAMP环境 [root@HE3~ ...
- easyUI draggable组件使用
easyUI draggable组件使用: <!DOCTYPE html> <html lang="en"> <head> <meta c ...
- 负载均衡软件LVS分析四(测试)
一.启动LVS集群服务LVS负载均衡管理和使用有两种方式,一种是以ipvsadm命令行脚步与ldirectord监控方式,一种是以Piranha工具进行管理和使用.下面分别介绍. 1.利用ipvsad ...
- jQuery查询性能考虑
http://blog.163.com/neusoft_hao@yeah/blog/static/120544724201282810510215/
- Quill编辑器介绍及扩展
从这里进入官网. 能找到这个NB的编辑器是因为公司项目需要一个可视化的cms编辑器,类似微信公众号编辑文章.可以插入各种卡片,模块,问题,图片等等.然后插入的内容还需要能删除,拖拽等等.所以采用vue ...
- Python爬虫基础
前言 Python非常适合用来开发网页爬虫,理由如下: 1.抓取网页本身的接口 相比与其他静态编程语言,如java,c#,c++,python抓取网页文档的接口更简洁:相比其他动态脚本语言,如perl ...