目录
前言:
查看占用端口的进程
Linux
Windows
杀死进程
Linux
Windows
按名称查看进程
命令行管道
后台运行服务
修改文件
Linux
Mac
复制目录到远程
实时查看文件内容
查看正在运行的服务
查看服务状态
重启服务
查看内存状况
查看磁盘状况
监控系统状况
前言:
在测试开发过程中,我们常常需要使用一些系统命令来完成各种任务。这些命令可以帮助我们更好地管理代码、测试环境和测试数据,从而提高测试开发的效率和质量。
以下介绍测试工作中常用的一些命令。未专门标注的,为 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 系统下,右击任务栏选择任务管理器。
作为一位过来人也是希望大家少走一些弯路
在这里我给大家分享一些自动化测试前进之路的必须品,希望能对你带来帮助。
(软件测试相关资料,自动化测试相关资料,技术问题答疑等等)
相信能使你更好的进步!
点击下方小卡片