systemd报错203

dream/ 十月 4, 2019/ linux/ 0评论

使用systemd启动shell脚本时,需要指定使用的是哪个shell,如果没有在脚本开头指定,会报错code=exited, status=203/EXEC。

解决方案:

shell脚本开头指定shell,如:

[……]

阅读全文

wget无法重定向BUG的规避方法

dream/ 七月 4, 2019/ BUG, C/C++, linux/ 1评论

今天,在使用popen调用wget时,发现popen的输出缓冲区中无输出数据,wget的输出仍然是输出到了命令行。

后测试wget www.baidu.com > log,发现不仅是在popen调用时,在shell里也无法将它的输出重定向。后了解到这是wget的一个BUG。

该BUG可通过指定输出文件来规避:

wget www.baidu.com -o log

popen(“wget www.baidu.com -o /dev/stdout”,”r”)

[……]

阅读全文

使用ssh传文件

dream/ 五月 8, 2019/ linux, 服务器, 未分类, 网络/ 0评论

1、从服务器上下载文件

scp username@servername:/path/filename /var/www/local_dir(本地目录)

2、上传本地文件到服务器

scp /path/filename username@servername:/path   

3、从服务器下载整个目录

scp -r username@servername:/var/www/remote_dir/(远程目录) /var/www/local_dir(本地目录)

4、上传目录到服务器

scp  -r local_dir usernam[……]

阅读全文

QT调试动态库

dream/ 三月 28, 2019/ C/C++, 代码编译/ 0评论

QT直接调试时,发现在动态库中打的断点无效,提示找不到动态库

设置动态库路径即可正常调试

设置位置:选项 ——> 调试器 ——> GDB ——> 额外的启动命令,添加set solib-search-path library_path ,将 library_path 替换为你要调试的动态库路径。如图。

然后设置为使用完整路径,之后即可。如图

对于在远程设备上调试时,可以使用源码路径映射,将本地的源码与远程的动态库相关联,从而远程调试动态库。如果远程动态库不在PATH下,也需要设置动态库路径。

[……]

阅读全文

pthread_create导致的内存泄漏

dream/ 三月 28, 2019/ BUG, linux/ 0评论

pthread_create默认创建的线程是非分离状态,线程退出后不会主动释放资源,需要等到join后才会释放。

实际使用中可以将线程的属性设置为分离状态,即退出就释放资源。

例如:

[……]

阅读全文

Linux sh执行结果作为文本继续

dream/ 三月 5, 2019/ linux/ 0评论

可以使用反引号`来实现。
反引号“是命令替换,命令替换是指Shell可以先执行“中的命令,将输出结果暂时保存,在适当的地方输出。

注意:是反引号`,不是单引号’。反引号的键盘位置在ESC下方。

例如:

执行结果:

[……]

阅读全文

Linux创建swap

dream/ 一月 21, 2019/ linux/ 0评论

以下命令都需要root权限

接下来修改/etc/fstab,加入如下一行,使这块swap在重启后仍然有效。

如果想要查看内存和swap剩余量,可以使用

如果想要删除swap,使用swapoff关闭对应swap即可

[……]

阅读全文