文档章节

小需求,巧思路

jastme
 jastme
发布于 2014/07/02 10:56
字数 260
阅读 126
收藏 2

今天有朋友问想用   pidof命令输出进程,然后计算个数,如果没有,就返回0


我们先来看看

root@kickstart:~# pidof apache2 
6323 6291 6290 1123

root@kickstart:~# echo $?
0

root@kickstart:~# pidof hehe

root@kickstart:~# echo $?
1

先不管,我们继续

root@kickstart:~# pidof apache2 | awk '{print NF}'
4
root@kickstart:~# pidof hehe | awk '{print NF}'                  看到了这个什么也没返回,是什么问题呢?
root@kickstart:~# 

root@kickstart:~# echo '' | awk '{print NF}'           这里看到了,上面什么都没返回,因为命令本身就没返回任何对象,不是空值
0

所以我们就要像办法判断下

root@kickstart:~# pidof apache2 | awk 'BEGIN{a=0}END{if (NF >= 1){print NF} else {print "0"}}'  
4

这样写并不OK

我们继续优化下
root@kickstart:~# pidof apache2 | awk 'END{if ('$?' == 0){print NF} else {print "0"}}'  
4

这下算是比较OK的了。其实这个问题不是很难,但是简单的问题也会引发一些基础的知识,这里让我好好复习了一下,$?返回为1的时候,并不是空值。切记哦。


© 著作权归作者所有

共有 人打赏支持
jastme
粉丝 35
博文 133
码字总数 61506
作品 0
成都
程序员
腾讯又添新乱 酷狗:QQ音乐抄袭其技术

10月14日 国内知名互联网公司腾讯卷入“抄袭风波”,从财付通到浏览器到杀毒软件、网游,腾讯公司可以说业务范围涉及整个互联网行业。 近日,国内知名音乐软件厂商酷狗公司公开指责腾讯公司旗...

红薯
2010/10/15
2.8K
29
高德地图安卓端实现卫星地图路网功能

项目需求场景—— 绘制地块时需要显示卫星地图,还要显示路网信息 遇到的问题—— 目前高德地图只提供两种地图类型: AMap.MAPTYPENORMAL 普通地图 AMap.MAPTYPESATELLITE 卫星地图 前者提供...

Even会编程
03/16
0
0
关于城市规划--看上海地图后的感想

我知道的城市规划有两类,一类是环,一类是卫星城。最近总是在看上海市地图,时不时的也看看北京的地图作为比较,突然发现上海的道路都是辐射状的,从中心区扩散开来,而北京的却是环状的,北...

晨曦之光
2012/04/10
355
0
Move on or Move out?物联网+AI引领IT人才新格局

  ...   也许   我们都是自己经验的井底之蛙   ...   如今的物联网炙手可热,各行各业穷尽巧思,智能家居、智能音箱等悄然开始占据市场的一部分,业内巨头们忙于抢占消费者瓜分市场...

乌镇智库
06/13
0
0
A*寻路算法在Unity中的简单应用

前言 在使用Unity开发游戏项目时,经常会遇到一些角色的导航需求,然而Unity提供给我们的NavMesh+NavMeshAgent并不能很好帮我们实现,且寻路网格的烘焙,以及在导航过程中寻路网格的检测,都...

欣羽馨予
2016/06/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何通过 J2Cache 实现分布式 session 存储

做 Java Web 开发的人多数都会需要使用到 session (会话),我们使用 session 来保存一些需要在两个不同的请求之间共享数据。一般 Java 的 Web 容器像 Tomcat、Resin、Jetty 等等,它们会在...

红薯
今天
3
0
C++ std::thread

C++11提供了std::thread类来表示一个多线程对象。 1,首先介绍一下std::this_thread命名空间: (1)std::this_thread::get_id():返回当前线程id (2)std::this_thread::yield():用户接口...

yepanl
今天
3
0
Nignx缓存文件与动态文件自动均衡的配置

下面这段nginx的配置脚本的作用是,自动判断是否存在缓存文件,如果有优先输出缓存文件,不经过php,如果没有,则回到php去处理,同时生成缓存文件。 PHP框架是ThinkPHP,最后一个rewrite有关...

swingcoder
今天
2
0
20180920 usermod命令与用户密码管理

命令 usermod usermod 命令的选项和 useradd 差不多。 一个用户可以属于多个组,但是gid只有一个;除了gid,其他的组(groups)叫做扩展组。 usermod -u 1010 username # 更改用户idusermod ...

野雪球
今天
3
0
Java网络编程基础

1. 简单了解网络通信协议TCP/IP网络模型相关名词 应用层(HTTP,FTP,DNS等) 传输层(TCP,UDP) 网络层(IP,ICMP等) 链路层(驱动程序,接口等) 链路层:用于定义物理传输通道,通常是对...

江左煤郎
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部