我正在尝试编写一个简单的脚本来监视我的网络状态,而没有所有ping的输出:
ping -q -c 1 google.com > /dev/null && echo online || echo offline
Run Code Online (Sandbox Code Playgroud)
问题是,当我没有连接时,我的输出中仍然收到一条错误消息:
ping: unknown host google.com
offline
Run Code Online (Sandbox Code Playgroud)
如何在输出中保留此错误消息?
我正在使用 Linux Mint 20。
我正在使用带有终止开关 ( protonvpn-cli ks --on)的 vpn 。
因此,如果 vpn 连接由于某种原因断开,网络将断开连接。
当网络断开连接时,我的youtube-dl下载永久停止并出现错误
ERROR: Unable to download JSON metadata: <urlopen error [Errno -2] Name or service not known> (caused by URLError(gaierror(-2, 'Name or service not known')))
Run Code Online (Sandbox Code Playgroud)
问题是,我想youtube-dl暂停而不是关闭,并在连接恢复时恢复。
我检查了连接断开连接不起作用时的重试,但我认为这与我的问题无关。
我的配置文件看起来像
--abort-on-error
--no-warnings
--console-title
--batch-file='batch-file.txt'
--socket-timeout 10
--retries 10
--continue
--fragment-retries 10
Run Code Online (Sandbox Code Playgroud)
当我使用批处理文件时,我不想从头开始这个过程。我只想暂停该youtube-dl过程,直到我再次连接,然后继续该过程。
我怎样才能做到这一点?
更新 1:
到目前为止,我发现的是,要暂停一个过程,我们可以执行以下操作:
$ kill -STOP 16143
Run Code Online (Sandbox Code Playgroud)
要恢复流程,我们可以执行以下操作:
$ kill -CONT 16143
Run Code Online (Sandbox Code Playgroud)