在Linux编程的过程中,发现的问题。
做一下《Linux高性能服务器编程(游双)》这本书的索引,以后方便查。
ssh
touch
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| touch命令 不带参数:如果不存在这个文件,则创建;存在的话,把atime和ctime时间改为当前时间
参数 -a 只修改atime -c 如果不存在,不创建 -d 修改mtime和ctime -m 只修改mtime -r 使用另一个文件的时间 -t 指定时间
linux文件时间戳 atime:访问时间 mtime:文件内容修改时间 ctime:文件属性或内容修改时间
|
ldd
1 2
| ldd本身不是一个程序,而仅是一个shell脚本:ldd可以列出一个程序所需要得动态链接库(so) ldd app
|
export
1 2 3 4
| Linux export 命令用于设置或显示环境变量。
在 shell 中执行程序时,shell 会提供一组环境变量。export 可新增,修改或删除环境变量,供后续执行的程序使用。export 的效力仅限于该次登陆操作。 export LD_LABRARY_PATH=
|
linux环境变量
1 2 3 4 5 6 7 8 9 10 11
| 环境变量配置文件
对所有用户都起作用 /etc/profile /etc/profile.d/*.sh /etc/bashrc
对当前用户起作用 配置文件在用户家目录下,即用户的主目录下。 ~/.bash_profile ~/.bashrc
|
启动过程
配置方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| 读取环境变量 显示所有:export 显示当前PATH:echo $PATH
方法一:使用export命令 export PATH=$PATH:/home/.... 生效时间:立即生效,当前终端有效,当前用户有效
方法二:用户目录下的.bashrc文件或.bash_profile文件 vim ~/.bashrc 最后一行加入export PATH=$PATH:/home/.... 生效时间:新终端或者手动输入source ~/.bashrc生效,永久有效,仅对当前用户有效
方法三:修改系统配置,需要管理员权限 vim /etc/bashrc 或者vim /etc/profile 生效时间:新终端或者手动输入source /etc/bashrc生效,永久有效,所有用户有效
用户级别环境变量定义文件: ~/.bashrc、~/.profile(部分系统为:~/.bash_profile) 系统级别环境变量定义文件: /etc/bashrc、/etc/profile(部分系统为:/etc/bash_profile)、/etc/environment
|
source
1 2 3 4
| source命令作用 在当前bash环境下读取并执行FileName中的命令。 source FileName . FileName
|
\n
编译pthead库函数
1 2
| gcc create.c -o app -l pthread gcc create.c -o app pthread
|
多线程编程的退出问题
1 2 3 4 5 6
| 注册线程需要时间,如果在这个时间内主函数return或者exit结束的话,即进程结束,子线程不会执行。 但是可以通过在return或者exit之前,使用pthread_exit函数让主线程正常退出,这样不会影响子线程。 int num = 0; pthread_create(&tid, NULL, callback, (void*)&num); num++; 在子线程中,输出的是1,因为共享变量num,主线程的num++语句虽然在创建线程的后面,但是先执行了。
|
1
| 端口复用,程序退出了,但是端口还没有释放,所以需要端口复用。
|
阻塞、非阻塞、同步、异步
项目实战基础知识
《Linux高性能服务器编程》游双。