小编agg*_*g3l的帖子

如何永久杀死dockerd?

当我top在linux终端中运行时,我有:

 1147 root      20   0 1227548  34604   5784 S   1,7  0,9   1:10.88 dockerd 
Run Code Online (Sandbox Code Playgroud)

我怎么能永久杀死它?我知道我可以通过linux手动杀死它kill,但是下次使用计算机的工作dockerd将再次显示.

linux service docker

4
推荐指数
1
解决办法
5547
查看次数

可靠的版本无关(3.2 .. 4.4)以'-u'模式处理bash空数组的方式

虽然使用`set -u`Bash空数组扩展中建议的解决方案对我来说很有用,但最近发布的数据处理(2016/09/16)bash 4.4(例如在Debian stretch中可用)已经改变了.

$ bash --version | head -n1
bash --version | head -n1
GNU bash, version 4.4.0(1)-release (x86_64-pc-linux-gnu)
Run Code Online (Sandbox Code Playgroud)

现在空数组扩展不会发出警告

$ set -u
$ arr=()
$ echo "${arr[@]}"

$ # everything is fine
Run Code Online (Sandbox Code Playgroud)

相关问题中提出的解决方案因bash-4.4而失败:

$ set -u
$ arr2=()
$ arr2=( ${arr2[@] + "${arr2[@]}"} 'foo' )
bash: ${arr2[@] + "$arr2[@]"}: bad substitution
Run Code Online (Sandbox Code Playgroud)

有没有人对(或多或少)版本无关的解决方案提出建议而无需额外检查数组长度或bash版本?我还在调查最近的bash变化

编辑

由于我最初的问题似乎有些令人困惑,所以这里是我试图实现的目标的澄清.测试脚本:

#!/usr/bin/env bash
set -euo pipefail
bash --version | head -n1

arr=()

# some external environment variables are set / command …
Run Code Online (Sandbox Code Playgroud)

arrays bash

2
推荐指数
1
解决办法
146
查看次数

标签 统计

arrays ×1

bash ×1

docker ×1

linux ×1

service ×1