V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Kobayashi  ›  全部回复第 45 页 / 共 57 页
回复总数  1131
1 ... 41  42  43  44  45  46  47  48  49  50 ... 57  
2019-06-03 07:49:04 +08:00
回复了 different 创建的主题 Linux 关于 shell 下的 sleep 问题
@different 这我就说不清了,无能为力。
2019-06-02 16:31:54 +08:00
回复了 xuwei97 创建的主题 问与答 Outlook 经常把验证邮件当作垃圾邮件怎么办?
说起 outlook 我就 TM 心痛,原本我注册了好多别名。结果后来 outlook 改变策略,所有发送邮件经过服务器强制改为 Microsoft 用户名,这要别名还有个屁用。从来没听说过哪个邮件服务商这么玩儿的。
2019-06-02 10:29:00 +08:00
回复了 different 创建的主题 Linux 关于 shell 下的 sleep 问题
@different 你两次贴的内容并不一样,后者没有 sleep 1。while read 可能和 ASDMPI 程序存在资源竞争,在外层循环语句 sleep 时,标准输入 stdin 被 ASDMPI 拿了?目前只能这样推测。
2019-06-02 09:42:44 +08:00
回复了 different 创建的主题 Linux 关于 shell 下的 sleep 问题
for in 循环文件内容(仅限循环文件)属于山炮用法,谁用坑死谁。

Why you don't read lines with "for",http://mywiki.wooledge.org/DontReadLinesWithFor

我今天可能嘴巴比较臭,想说点大实话(一点建议)。有问题 Google,Stack Overflow,在一个灌水论坛提问技术是多么想不开?
2019-06-02 09:30:36 +08:00
回复了 different 创建的主题 Linux 关于 shell 下的 sleep 问题
我是头一次听说不知道 set -x 是 debug,而且也不搜索的。不过鉴于你这问题比较特殊,还是来解释一下。

问题在于 while read 循环每次从 stdin 读取内容,而你的后台命令 ASDMPI 不怎么厚道,趁你 sleep 1 时把 stdin 的内容给吃了。

解决方案,方案 1,关闭后台命令的标准输入;方案 2,先把 tasklist.txt 内容逐行读入 array,for 循环 array。

https://pastebin.com/Jz2sqvck

另外,有时间好好学学 bash 是非常重要的。你第一条附言里 for line in $(cat tasklist.txt)存在空白格问题,这种问题往大了说,能把你搞得只能跑路。https://wiki.bash-hackers.org/scripting/tutoriallist
2019-06-01 20:17:49 +08:00
回复了 different 创建的主题 Linux 关于 shell 下的 sleep 问题
set -x
1 ... 41  42  43  44  45  46  47  48  49  50 ... 57  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2835 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 22ms · UTC 08:32 · PVG 16:32 · LAX 00:32 · JFK 03:32
Developed with CodeLauncher
♥ Do have faith in what you're doing.