我一直在 Red Hat 服务器上运行下面的脚本,它工作正常并完成了工作。我提供给它的文件包含 50 万行(大约 500000 行),这就是为什么(为了更快地完成它)我在 while 循环块的末尾添加了一个“&”
但是现在我已经设置了一个带有 8 GB RAM 的桌面,在它上面运行 Ubuntu 18.04,并且运行相同的代码只完成了几千行然后挂起。我阅读了一些关于它的内容并将堆栈限制增加到无限制,但它仍然在 80000 行左右后挂起,关于如何优化代码或调整我的 PC 参数以始终完成工作的任何建议?
while read -r CID60
do
{
OLT=$(echo "$CID60" | cut -d"|" -f5)
ONID=${OLT}:$(echo "$CID60" | cut -d, -f2 | sed 's/ //g ; s/).*|//')
echo $ONID,$(echo "$CID60" | cut -d"|" -f3) >> $localpath/CID_$logfile.csv
} &
done < $localpath/$CID7360
Run Code Online (Sandbox Code Playgroud)
输入:
202-00_MSRFKH00OL6:R1.S1.LT7.PON8.ASSN45| Unlocked|12-654-0330|Up|202-00_MSRFKH00OL6|P282018767.C2028 ( network, R1.S1.LT7.PON8.ONT81.SERV1 )|
202-00_MSRFKH00OL6:R1.S1.LT7.PON8.ASSN46| Unlocked|12-654-0330|Down|202-00_MSRFKH00OL6|P282017856.C881 ( local, R1.S1.LT7.PON8.ONT81.C1.P1 )|
202-00_MSRFKH00OL6:R1.S1.LT7.PON8.ASSN52| Unlocked|12-664-1186|Up|202-00_MSRFKH00OL6|P282012623.C2028 ( network, R1.S1.LT7.PON8.ONT75.SERV1 )|
Run Code Online (Sandbox Code Playgroud)
输出:
202-00_MSRFKH00OL6:R1.S1.LT7.PON8.ONT81.SERV1,12-654-0330 …Run Code Online (Sandbox Code Playgroud) 我一直听说过后台(但不是桌面后台)进程。但我不明白它们到底是什么。例如,请查看此链接的答案守护进程、服务和进程之间的技术区别是什么?我在这里引用:
守护进程 - 守护进程……它们是在后台运行且不具有交互性的进程 。他们没有控制终端...
它们的用途是什么?还有任何相关的命令来显示在后台运行的进程吗?
我正在尝试编写一个脚本来:
screen会话我一直在尝试各种组合用的screen -X program或screen -S somename后面program接着screen -D,相结合-d或者-m我相关的问题和答案,但没有找到工作的选项。
我能得到的最接近的是这个:
screen -S MySessionName -d -m myprogram
Run Code Online (Sandbox Code Playgroud)
这会在后台启动一个新的屏幕会话,运行myprogram. 除了一旦myprogram完成(有时是立即)屏幕会话终止,而我想保持它运行。
我的命令是这样的:sudo openconnect -b serverName用于连接到VPN,但是当我想断开它时,该进程不会终止并且它在后台活动。
我使用这些命令来断开连接,但它们在ubuntu 20.10中对我不起作用:
1-sudo killall openconnect
2-使用 ctrl+c
我需要在后台模式下运行一些 mysql-query ......但是我怎么能做到这一点nohup呢?
通常我会这样做:
mysql -uroot -p
use SomeDb;
Select * from blablalba;
Run Code Online (Sandbox Code Playgroud)
但是我如何通过在 db 进程中启动来做到这一点?我使用 nohup 进行 mysql 导入,但如何使用查询?
我想在后台启动一个任务并将所有输出重定向到一个文件。为此,我这样做,./main.py > /tmp/logsFile 2>&1 &但我不工作,我认为问题来自后台任务,当我这样做但不在后台时,它有效!当它在后台时的问题是文件已创建但为空,并且我的机器人总是在连接处返回内容,因此文件不应该为空!我有一个 MSI CX62 6QD 249XFR,i3 上运行 Ubuntu 18.04 LTS
编辑:上面的命令适用于带有 echo 的基本 .sh,但不适用于 main.py
bash ×2
command-line ×2
gnu-screen ×1
logs ×1
mysql ×1
networking ×1
nohup ×1
openconnect ×1
output ×1
process ×1
scripts ×1
session ×1
vpn ×1