终端关闭时运行 Google Cloud Storage gsutil 命令
Posted
技术标签:
【中文标题】终端关闭时运行 Google Cloud Storage gsutil 命令【英文标题】:Run Google Cloud Storage gsutil command when terminal is closed 【发布时间】:2020-03-24 14:38:55 【问题描述】:我正在删除 GS Storage 存储分区中的大量文件。我正在从 shell cmd 运行gsutil
,例如:
gsutil -m rm -r gs://bucket-name/folder-name
我发现当shell会话结束或我关闭chrome时,命令被中断,即使&
运行后台。即使会话结束也不会中断运行命令或脚本的任何想法?
谢谢
【问题讨论】:
怎么知道命令被中断了?您是否看到错误消息?您是在您的机器上运行它,还是在 Cloud Shell 中运行它? 我在 Cloud Shell 中运行 cmd,而不是在我的本地计算机上在线运行。我正在删除很多小文件,这将花费数小时。我运行了 cmd 后台,但几个小时后文件并未全部删除。所以我在想,当会话到期时,cmd会被中断。 【参考方案1】:在后台使用&
运行命令并不能防止它在您注销或关闭 shell 时被杀死。要防止命令在分离时结束,请使用nohup
运行它。例如:
nohup gsutil -m rm -r gs://bucket-name/folder-name &
【讨论】:
是的,先生...请参阅以下内容...linux.101hacks.com/unix/nohup-command 高级是当终端断开连接时,从该终端启动的所有进程都会发送一个 SIGHUP(挂断),这将杀死命令。 nohup 命令将命令作为参数并禁用该命令的 SIGHUP 传递。以上是关于终端关闭时运行 Google Cloud Storage gsutil 命令的主要内容,如果未能解决你的问题,请参考以下文章
如何以root用户身份运行Google Chrome? [关闭]
Google Cloud Shell - 无法打开shell