返回值:成功:0,错误:出错编号。
成都创新互联公司作为成都网站建设公司,专注成都网站建设公司、网站设计,有关成都企业网站建设方案、改版、费用等问题,行业涉及茶楼设计等多个领域,已为上千家企业服务,得到了客户的尊重与认可。
pthread不是Linux系统默认的库而是POSIX线程库。在Linux中将其作为一个库来使用,因此编译时需要加上-pthread以显式链接该库
返回线程ID
线程标识符在进程中是唯一的,即分别属于两不同进程的两个线程可能有相同的线程标识符
retval:返回信息
参数表:
thread: 要等待的线程的pid
retval:用来存储被等待线程的返回值
返回0:成功;返回错误号:失败
主线程阻塞自己,等待子线程结束,然后回收子线程资源
可以设置线程能否被取消和取消后是否立即执行
参数表
state:PTHREAD_CANCEL_DISABLE或者PTHREAD_CANCEL_ENABLE
oldstate:指针类型,上一次取消状态的指针,可设NULL
type:PTHREAD_CANCEL_ASYNCHRONOUS立即取消
PTHREAD_CANCEL_DEFERRED等待事件(如pthread_join时)才取消
在任何一个时间点上,线程是可结合的(joinable),或者是分离的(detached)。一个可结合的线程能够被其他线程收回其资源和杀死,只有当pthread_join()函数返回时,创建的线程才算终止,才能释放自己占用的系统资源;在被其他线程回收之前,它的存储器资源(如栈)是不释放的。相反,一个分离的线程是不能被其他线程回收或杀死的,它的存储器资源在它终止时由系统自动释放。 因此为了避免内存泄漏,所有线程的终止,要么已设为DETACHED,要么就需要使用pthread_join()来回收
返回0成功,错误号失败
分离后不可以再合并。该操作不可逆
综合以上要想让子线程总能完整执行(不会中途退出),
注:很多地方参照了黄茹老师主编的《Linux环境高级程序设计》
杀死线程 所在的进程就可以,
ps aux | grep 进程名
kill -TERM 进程号
如果你指的写程序, 那就参考 man pthread_exit
1、find 查找文件或目录
find / -size +204800k //在根目录下查找大于200MB的文件
find / -user username//在根目录下查找所有者为username的文件
find / -name filename.txt //根据名称查找/目录下的filename.txt文件。
2、复制文件包括其子文件到自定目录
cp -r sourceFolder targetFolder
3、查看一个程序是否运行
ps –ef|grep tomcat //查看所有有关tomcat的进程
4、终止线程
kill -9 19979 //终止线程号位19979的线程
5、查看文件,包含隐藏文件
ls -al
6、当前工作目录
pwd
7、创建目录
mkdir newfolder
8、删除目录(此目录是空目录)
rmdir deleteEmptyFolder
9、删除文件包括其子文件
rm -rf deleteFile
10、移动文件
mv /temp/movefile /targetFolder//扩展重命名 mv oldNameFile newNameFile
11、切换用户
su -username
12、修改文件权限
chmod 777 file.java //file.java的权限-rwxrwxrwx,r表示读、w表示写、x表示可执行
13、压缩文件
tar -czf test.tar.gz /test1 /test2
14、列出压缩文件列表
tar -tzf test.tar.gz
15、解压文件
tar -xvzf test.tar.gz
16、查看文件头10行
head -n 10 example.txt
17、查看文件尾10行
tail -n 10 example.txt
18、查看日志文件
tail -f exmaple.log //这个命令会自动显示新增内容,屏幕只显示10行内容的(可设置)。
19、启动Vi编辑器
vi
20、查看系统当前时间
date
命令会输出 周几 几月 几日 时间 和 时间显示格式 和年份
Sat Feb 22 15:36:49 CST 2019
date +”%Y-%m-%d”
显示如下:
[root@ming xxx]# date +"%Y-%m-%d"
如下:
1.查找文件
find / -name filename.txt
根据名称查找/目录下的filename.txt文件
2.查看一个程序是否运行
ps –ef|grep tomcat
查看所有有关tomcat的进程。
3.终止线程
kill -9 19979
终止线程号位19979的线程
4.查看文件,包含隐藏文件
ls -al
5.当前工作目录
pwd
6.复制文件包括其子文件到自定目录
cp -r sourceFolder targetFolder
7.创建目录
mkdir newfolder
8.删除目录(此目录是空目录)
rmdir deleteEmptyFolder
9.删除文件包括其子文件
rm -rf deleteFile
10.移动文件
mv /temp/movefile /targetFolder
扩展重命名 mv oldNameFile newNameFile
11.切换用户
su -username
12.修改文件权限
chmod 777 file.java
//file.java的权限-rwxrwxrwx,r表示读、w表示写、x表示可执行
13.压缩文件
tar -czf test.tar.gz /test1 /test2
14.列出压缩文件列表
tar -tzf test.tar.gz
15.解压文件
tar -xvzf test.tar.gz
16.查看文件头10行
head -n 10 example.txt
17.查看文件尾10行
tail -n 10 example.txt
18.查看日志文件
tail -f exmaple.log
//这个命令会自动显示新增内容,屏幕只显示10行内容的(可设置)
19.启动Vi编辑器
vi
20.查看系统当前时间
date
命令会输出 周几 几月 几日 时间 和 时间显示格式和年份
Sat Jan 20 04:39:49 CST 2018
date +"%Y-%m-%d"