测试开发之系统篇-常用系统命令

原创
aaronchen2k
2021-05-28 13:53:16
3584

以下介绍测试工作中常用的一些命令。未专门标注的,为Linux和Mac系统下的。

查看占用端口的进程

Linux

aaron@ubuntu:~$ lsof -i :8085 | grep LISTEN
___server 69080 aaron   11u  IPv6 0x5624b7cdebdb6b7b      0t0  TCP *:8085 (LISTEN)

Windows

C:>netstat -aon | findstr :80 | findstr LISTENING
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING       2588
  TCP    [::]:80                [::]:0                 LISTENING       2588

杀死进程

Linux

aaron@ubuntu:~$ kill -9 69080

Windows

PS C:\WINDOWS\system32> taskkill /F /PID 8152
SUCCESS: The process with PID 8152 has been terminated.

Windows下权限不足的,可右击开始按钮,用管理员模式启动PowerShell。

按名称查看进程

aaron@ubuntu:~$ ps -ef | grep nginx | grep -v grep
root     21471     1  0  2020 ?        00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data 21472 21471  0  2020 ?        00:07:55 nginx: worker process

使用grep -v grep过滤掉该查看进程本身。


命令行管道

aaron@ubuntu:~$ ps -ef | grep nginx | grep -v grep | awk '{print $2}' | xargs kill -9

此处使用管道,杀掉名为nginx的进程。

  • 使用|管道符,将命令的标准输出传递为下一个命令的标准输入;
  • 使用awk打印所捕获行的第2列,列按空格或Tab符号进行分割;
  • 使用xargs,将上个命令的标准输出转换成下一个命令的参数。

后台运行服务

aaron@ubuntu:~$ nohup appium -p %d --default-capabilities '{"udid":"sn"}' > appium.log 2>&1 &

后台为指定串号sn的手机运行appium服务。

修改文件

查找zd.conf文件中,以“Version”开头的行,替换为“Version = 2.0”。
Linux

sed -i "s/Version.*/Version = 2.0/" zd.conf

Mac

gsed -i "s/Version.*/Version = 2.0/" zd.conf

复制目录到远程

scp -r bin/utl-server/0.8/linux/utl-server 139.224.8.129:~

实时查看文件内容

aaron@ubuntu:~$ tail -f jmeter.log
2021-04-25 15:11:51,723 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/xml is org.apache.jmeter.protocol.http.parser.LagartoBasedHtmlParser
2021-04-25 15:11:51,723 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/vnd.wap.wml is org.apache.jmeter.protocol.http.parser.RegexpHTMLParser
2021-04-25 15:11:51,723 INFO o.a.j.p.h.s.HTTPSamplerBase: Parser for text/css is org.apache.jmeter.protocol.http.parser.CssParser
2021-04-25 15:11:51,789 INFO o.a.j.s.SampleResult: Note: Sample TimeStamps are START times
2021-04-25 15:11:51,789 INFO o.a.j.s.SampleResult: sampleresult.default.encoding is set to ISO-8859-1
2021-04-25 15:11:51,789 INFO o.a.j.s.SampleResult: sampleresult.useNanoTime=true

查看正在运行的服务

aaron@ngtesting-lab:~$ systemctl | grep apparmor
  apparmor.service.     loaded active exited    LSB: AppArmor initialization

查看服务状态

aaron@ubuntu:~$ service apparmor status
● apparmor.service - LSB: AppArmor initialization
   Loaded: loaded (/etc/init.d/apparmor; bad; vendor preset: enabled)
   Active: active (exited) since Fri 2021-05-28 09:42:26 CST; 18s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 19969 ExecStop=/etc/init.d/apparmor stop (code=exited, status=0/SUCCESS)
  Process: 20185 ExecStart=/etc/init.d/apparmor start (code=exited, status=0/SUCCESS)

重启服务

aaron@ubuntu:~$ sudo service apparmor restart

查看内存状况

aaron@ubuntu:~$ free -h
              total        used        free      shared  buff/cache   available
Mem:           7.8G        2.3G        931M         40M        4.6G        5.2G
Swap:            0B          0B          0B

查看磁盘状况

aaron@ubuntu:~/ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           799M  3.4M  795M   1% /run
/dev/vda1        40G   33G  4.8G  88% /
tmpfs           3.9G  8.0K  3.9G   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
tmpfs           799M     0  799M   0% /run/user/1000

监控系统状况

aaron@ubuntu:~$ top
top - 09:29:37 up 378 days, 16:35,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 146 total,   1 running, 145 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.2 us,  0.1 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  8174708 total,   953320 free,  2365784 used,  4855604 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  5426472 avail Mem
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
14459 root      10 -10  135204  17124  14024 S   0.7  0.2   2:52.83 AliYunDun
  956 root      20   0 2428132  92556  16208 S   0.3  1.1   2690:07 java
 3217 999       20   0   90232   7264   3296 S   0.3  0.1 308:04.26 redis-server

Windows系统下,右击任务栏选择任务管理器


Q: 什么是禅道项目管理软件?

A: 禅道是一款开源的项目管理软件,支持敏捷开发bug管理


Q: 如何在Linux系统中杀死进程?

A: 可以使用命令`kill -9 PID`来终止指定的进程。


Q: 如何查看Linux系统上的内存使用情况?

A: 可以通过`free -h`命令实时查看内存的总量、已用和空闲状态。

  • codes-computer-data-electronics-2c3a7d04ca730b3677b73e7563ab9247.jpg
评论列表
🐻
爱逃课的西红柿2025-11-20 08:44:16回复
这些命令真有用,收藏备用!

推荐阅读

测试开发之自动化篇-禅道ZTF自动化框架设计

实际工作中,通常没有必要从头开始造轮子,而是可以基于一些开源项目,实现适合自己公司业务的测试框架。
🍪
陈琦
2022-09-02

测试开发之前端篇-JavaScript脚本语言

由于是测试有关的文章,我们不会详细介绍JavaScript开发技术的方方面面,而是从软件测试的角度,给大家分享一下JavaScript(下称JS)的相关内容。 不同于PHP、JSP等传统Web技术,会在服务器端生成网页,现今流行的前后端分离架构下,大家浏览网站时看到的页面,是由下载到浏览器里的JS代码(包括脚本和编译成了JS形式的模板),在客户端的电脑中渲染而成的。以上是一个简化了的示意图,...
aaronchen2k 2021-10-19

测试开发之系统篇-安装KVM虚拟机

虚拟机(Virtual Machine)和容器(Container)是两种流行的虚拟化技术。 虚拟机模拟机器的硬件,包括了完整的操作系统和应用,它一旦被开启,预分配给它的资源将全部被占用。容器是运行在宿主机上的一个进程,多个容器之间使用同一个宿主机的操作系统内核。容器相对于虚拟机启动更快、占用资源更少,但隔离和安全性要弱于虚拟机。 测试人员为了准备不同的测试环境,往往使用可视化的VMW...
aaronchen2k 2021-06-09

测试开发之自动化篇-禅道自动化测试集成

本文给大家介绍如何将第三方的自动化测试工具同禅道进行集成,打造一个一站式的完整研发管理平台。
🍪
陈琦
2022-08-30
返回顶部
客服头像
杨苗
高级客户经理
客服微信
13165050229
2692096539
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。问题反馈反馈点击这里,让我们聆听您的建议与反馈。