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()

 

posted @ 2023-08-21 10:26  九万里风  阅读(16)  评论(0编辑  收藏  举报