ubunut 命令
1.显示当前文件夹下文件数量
ls -l|grep "^-" | wc -l
查看端口占用的进程
netstat -ap | grep 8080
2. 查看占用硬件资源的进程
查看占用0号usb相机的进程
fuser /dev/video0
或者查看占用英伟达显卡的进程
fuser -v /dev/nvidia*
3.杀死进程的命令
kill -9 进程id
4.显示当前目录下各个文件夹占用磁盘空间大小
du -h --max-depth=1
python的os模块支持命令行的输入和结果接收, 以下代码演示了如何查询机器人上相机占用的进程并kill掉,然后启用相机的视频录制。
1 import os 2 3 4 if __name__ == "__main__": 5 # 先找到占用相机的进程,然后kill掉 6 camera_id = "1" # 相机id,0或1 表示前后标线相机 7 pid = os.popen("fuser /dev/video"+camera_id).read() 8 # print("pid:", pid) 9 pids = pid.strip().split(" ") 10 for ppid in pids: 11 print(ppid) 12 os.popen("kill -9 "+ppid) 13 14 fource = cv2.VideoWriter_fourcc(*"MP4V") 15 video = cv2.VideoCapture(int(camera_id)) 16 video.set(3,640) 17 video.set(4,480) 18 resulte = cv2.VideoWriter('./videio_{}.mp4'.format(time.strftime("%Y%m%d_%H%M%S")), fource, 24, (640, 480)) 19 if video.isOpened(): 20 print("视频录制开始,选择相机:{}".format(camera_id)) 21 while video.isOpened(): 22 ret, frame = video.read() 23 # print(ret) 24 if not ret: 25 print("can't receive frame (stream end?). Exiting ...") 26 break 27 resulte.write(frame) 28 # if cv2.waitKey(1)==ord('q'): 29 # break 30 video.release() 31 resulte.release()