一、shell命令根据端口后关闭指定进程。

kill - $(netstat -nlp | grep : | awk '{print $7}' | awk -F"/" '{ print $1 }')

netstat -lnp| grep 8080。是查看8080端口号的进程。

二、声明变量。  

参考: shell变量

#定义变量,保存20501端口pid。
pid_20501=$(netstat -nlp | grep : | awk '{print $7}' | awk -F"/" '{ print $1 }')
# sudo kill - $(netstat -nlp | grep : | awk '{print $7}' | awk -F"/" '{ print $1 }') #如果pid_20501不为空,kill起进程。----------------------------------
if [ ! $pid_20501 ]; then
echo "20501端口没有被占用"
else
echo "关闭20501进程"
kill - $pid_20501
fi

在脚本里如果不判端端口的pid是否存在直接运行,会导致脚本中止,所以加入if判断。

三、流程控制。   

参考:1、  shell流程控制

  2、在shell中判断一个变量是否为空

#如果pid_20501不为空,kill起进程。
if [ ! $pid_20501 ]; then
echo "20501端口没有被占用"
else
echo "关闭20501进程"
kill - $pid_20501
fi

把参考2的方法复制过来:

在shell中判断一个变量是否为空
在shell中如何判断一个变量是否为空
判断一个脚本中的变量是否为空,我写了一个这样的shell脚本: C代码 收藏代码 #!/bin/sh
#filename: test.sh
para1=
if [ ! -n $para1 ]; then
echo "IS NULL"
else
echo "NOT NULL"
fi 然后把该脚本:test.sh通过chmod +x 改为可以执行的脚本,执行后输出的结果为: NOT NULL,很是奇怪,最后,通过查询一些资料发现,可以通过如下方式判断一个shell变量是否为空: 1. 变量通过" "引号引起来 如下所示:,可以得到结果为 IS NULL. C代码 收藏代码 #!/bin/sh
para1=
if [ ! -n "$para1" ]; then
echo "IS NULL"
else
echo "NOT NULL"
fi 2. 直接通过变量判断 如下所示:得到的结果为: IS NULL C代码 收藏代码 #!/bin/sh
para1=
if [ ! $para1 ]; then
echo "IS NULL"
else
echo "NOT NULL"
fi 3. 使用test判断 得到的结果就是: dmin is not set! C代码 收藏代码 #!/bin/sh
dmin=
if test -z "$dmin"
then
echo "dmin is not set!"
else
echo "dmin is set !"
fi 4. 使用""判断 C代码 收藏代码 #!/bin/sh
dmin=
if [ "$dmin" = "" ]
then
echo "dmin is not set!"
else
echo "dmin is set !"
fi 来源:http://www.kaiyuanba.cn/html/1/131/137/4106.htm

参考:Linux 进程状态

  Linux 进程状态 说明

如何快速学好Shell脚本?

Linux关闭进程。的更多相关文章

  1. linux关闭进程

    查看端口对应的pid lsof -i:8888 若要关闭使用这个端口的程序,使用kill + 对应的pid kill -9 PID号

  2. Linux系统Tomcat进程使用shutdown无法关闭进程

    问题场景: 若在应用中启动了用户线程,在Linux系统Tomcat进程使用shutdown无法关闭进程. 解决方案: #1.在catalina.sh文件中添加CATALINA_PID [root@lo ...

  3. Linux查看关闭进程

    ps:进程的静态列表(Process status) - PID:进程号,每个进程独一无二的标识符(关闭进程需要使用) - TTY:终端所属,表明进程产生于哪一个终端,对于多用户使用的Linux服务器 ...

  4. linux 查看端口占用情况并关闭进程

    首先要搞清楚 linux 查看进程和查看端口是两个概念,一般来讲进程会有多个,而固定端口只会有一个. 1.查看进程 ,通常在使用 ps   命令后 用管道连接(ps -ef|grep  xxx ) 查 ...

  5. .NET跨平台实践:用C#开发Linux守护进程

    Linux守护进程(Daemon)是Linux的后台服务进程,它脱离了与控制终端的关联,直接由Linux init进程管理其生命周期,即使你关闭了控制台,daemon也能在后台正常工作. 一句话,为L ...

  6. .NET跨平台实践:用C#开发Linux守护进程(转)

    Linux守护进程(Daemon)是Linux的后台服务进程,它脱离了与控制终端的关联,直接由Linux init进程管理其生命周期,即使你关闭了控制台,daemon也能在后台正常工作. 一句话,为L ...

  7. [转]❲阮一峰❳Linux 守护进程的启动方法

    ❲阮一峰❳Linux 守护进程的启动方法 "守护进程"(daemon)就是一直在后台运行的进程(daemon). 本文介绍如何将一个 Web 应用,启动为守护进程. 一.问题的由来 ...

  8. Server Develop (七) Linux 守护进程

    守护进程 守护进程,也就是通常说的Daemon进程,是Linux中的后台服务进程.它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件.守护进程常常在系统引导装 ...

  9. Linux 守护进程和超级守护进程(xinetd)

    一 .Linux守护进程 Linux 服务器在启动时需要启动很多系统服务,它们向本地和网络用户提供了Linux的系统功能接口,直接面向应用程序和用户.提供这些服务的程序是由运行在后台的守护进程来执行的 ...

随机推荐

  1. NULL指针区域(NULL定义为0-65535之间的任何数都可以)

    NULL指针区域0x00000000-0x0000FFFF:65535字节 这个区域的作用是用来帮助程序员发现内存分配失败后未检查就使用的错误.比如使用malloc分配内存失败,返回NULL,而又未做 ...

  2. 零元学Expression Blend 4 - Chapter 27 PathlistBox被Selected时的蓝底蓝框问题

    原文:零元学Expression Blend 4 - Chapter 27 PathlistBox被Selected时的蓝底蓝框问题 最近收到网友Cloud的来信,询问我有关放进PathlistBox ...

  3. 小米手机销量暴跌36% 雷军做错了什么?(人的需求是复杂的,而不是仅仅是一个性价比;要做体验价格比,而不是配置价格比)good

    小米手机销量暴跌36% 雷军做错了什么? 日前,小米科技创始人雷军在美国马萨诸塞州剑桥市出席了第20届哈佛中国论坛开幕式并发表了演讲.在演讲中,雷军说但小米却只用两年半的时间一跃成为了中国第一,世界第 ...

  4. Qt5 结构及模块组成?

    作为一个Qt的粉丝,对将于明年发布的Qt5充满了期待.可是想想Qt5将发生的巨大变化,心底又有点不安.Qt5到底会变成什么样呢? 看看近期Qt5的一些大动作: 从 QtCore中移除 QSetting ...

  5. Elasticsearch ML

    Elastic公司在收购了Prelert半年之后,终于在Elasticsearch 5中推出了Machine Learning功能.Prelert本身就擅长做时序性数据的异常检测,从这点上讲也比较契合 ...

  6. 朱晔的互联网架构实践心得S2E6:浅谈高并发架构设计的16招

    朱晔的互联网架构实践心得S2E6:浅谈高并发架构设计的16招 概览 标题中的高并发架构设计是指设计一套比较合适的架构来应对请求.并发量很大的系统,使系统的稳定性.响应时间符合预期并且能在极端的情况下自 ...

  7. 使用spring容器干掉if-else

    spring容器干掉if-else 场景说明 最近新做一个项目,需要对不同店铺的商品做不同处理.例如storeA需要进行handleA操作,storeB需要进行handleB操作,如此类推 大家很容易 ...

  8. java集合的方法及使用详解

    一.java集合的分类及相互之间的关系 Collection接口:向下提供了List和Set两个子接口 |------List接口:存储有序的,存储元素可以重复 |------ArrayList(主要 ...

  9. 27 background

    先来讲讲颜色表示法 一共有三种:单词.rgb表示法.十六进制表示法 rgb:红色 绿色 蓝色 三原色 光学显示器,每个像素都是由三原色的发光原件组成的,靠明亮度不同调成不同的颜色的. 用逗号隔开,r. ...

  10. RequestMappingHandlerAdapter和RequestParam原理分析

    我们要使用定义了RequestMapping方法或者类是,需要先准备好所需要的参数.如何准备参数,我们应该考虑些上面问题. 都有哪些参数需要绑定? 除了方法确定的参数,还有两个方法的参数需要绑定,那就 ...