docker解决部分容器中无法启动shell的问题
问题:docker hub上部分镜像中不包含sh,导致无法进入到容器的命令行。报错示例:container process caused “exec: \”/bin/sh\”: stat /bin/sh: no such file or directory”: unknown[……]
问题:docker hub上部分镜像中不包含sh,导致无法进入到容器的命令行。报错示例:container process caused “exec: \”/bin/sh\”: stat /bin/sh: no such file or directory”: unknown[……]
使用systemd启动shell脚本时,需要指定使用的是哪个shell,如果没有在脚本开头指定,会报错code=exited, status=203/EXEC。
解决方案:
shell脚本开头指定shell,如:
[……]
今天,在使用popen调用wget时,发现popen的输出缓冲区中无输出数据,wget的输出仍然是输出到了命令行。
后测试wget www.baidu.com > log,发现不仅是在popen调用时,在shell里也无法将它的输出重定向。后了解到这是wget的一个BUG。
该BUG可通过[……]
pthread_create默认创建的线程是非分离状态,线程退出后不会主动释放资源,需要等到join后才会释放。
实际使用中可以将线程的属性设置为分离状态,即退出就释放资源。
例如:
[……]
可以使用反引号`来实现。
反引号“是命令替换,命令替换是指Shell可以先执行“中的命令,将输出结果暂时保存,在适当的地方输出。
注意:是反引号`,不是单引号’。反引号的键盘位置在ESC下方。
例如:
执行结果:
[……]
以下命令都需要root权限
接下来修改/etc/fstab,加入如下一行,使这块swap在重启后仍然有效。
如果想要查看内存和swap剩余量,可以使用
如果想要删除swap,使用swapoff关闭对应swap即可
[……]
以22端口为例
开端口:
iptables -A INPUT -p tcp –dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp –sport 22 -j ACCEPT
service iptables save
参考:http[……]