big*_*cvs 1 java bash ubuntu bash-scripting
我遇到一个奇怪的问题,可能与硬件初始化有关。我正在开发一个基于 Java 的自动数据采集系统,该系统在带有 Ubuntu 16.04 的 SBC 上运行。数据采集程序目前是通过 cron 启动的,尽管我打算切换到 systemd。
如果我重新启动系统,它就会启动并运行良好。但是,如果断电并冷启动(这是正常方式),程序将崩溃并出现错误free(): corrupted unsorted chunks
。如果我再次启动它,它似乎运行良好。我需要找出原因,希望能找出原因,但这可能需要一些时间,同时系统需要进一步测试,我需要一种解决方法,可以在崩溃时重新启动它。仅添加延迟并没有帮助。
我想做的是重新启动 Java 进程或从 bash 包装脚本重新启动系统,但前提是它崩溃了。如果它以零退出代码退出(或者,理想情况下,以预定的允许退出代码集中的任何代码退出),则不应重新启动它,并且脚本也应退出。
如果您可以编写 Bash 脚本,请安排此脚本而不是您的程序:
#!/bin/bash
myprogram
while [ $? -ne 0 ]; do
myprogram
done
Run Code Online (Sandbox Code Playgroud)
该脚本将重新启动您的程序,直到它以 0 错误代码退出(表示成功)。另外,重新启动整个系统对我来说似乎有点过分了。
归档时间: |
|
查看次数: |
1417 次 |
最近记录: |