并发控制
1 2 3 4 5 6 7 8 9 10 11 | #(File Descriptors) FD,文件描述符,文件句柄 #使用文件描述符管理打开的文件 #当一个文件FD未被释放,删除源文件也不会影响 ls /proc/ $$ /fd #$$ 当前进程,查看打开的文件描述符 exec 6<> file #手动定义打开文件描述符 echo "test" >> /proc/ $$ /fd/6 #通过文件描述符写入数据 exec 6<&- #关闭文件 #管道也是文件,但只能查看一次,不像静态文件 rpm -qa| grep bash #匿名管道 只能在一个终端 mkfifo /tmp/fifo1 #命名管道 可以跨终端 命名管道可以视为一个进程的输入,用来另外一个进程的输出 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #!/usr/bin/bash thread=5 tmp_fifofile= /tmp/ $$.fifo mkfifo $tmp_fifofile exec 8<> $tmp_fifofile rm $tmp_fifofile for i in ` seq $thread` do echo >&8 #&8简写(/proc/$$/fd/8) 文件描述符 done for i in {1..254} do read -u 8 #-u 从文件描述符读取数据 { ip=192.168.201.130 ping -c1 -W1 $ip &> /dev/null if [ $? - eq 0 ]; then echo "$ip is up" else echo "$ip is down" fi echo >&8 #再写入数据 保证线程梳理 }& done wait echo "finish ...." |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!