Linux
Linux学习
学而不思则忘
一切都可以
展开
-
Linux多进程读写正在删除的文件
Linux中多进程环境下,打开同一个文件,当一个进程进行读写操作,如果另外一个进程删除了这个文件,那么读写该文件的进程会发生什么呢?linux是通过link的数量来控制文件删除,只有当一个文件不存在任何link的时候,这个文件才会被删除。每个文件都会有2个link计数器i_count 和 i_nlink。i_count的意义是当前使用者的数量,也就是打开文件进程的个数。i_nlink的意义是介质连接的数量;或者可以理解为 i_count是内存引用计数器,i_nlink是硬盘引用计数器。再换句话说,当文件转载 2021-06-29 16:48:05 · 974 阅读 · 0 评论 -
nohup命令原理解析
nohup命令作用:忽略SIGHUP信号,因此当session关闭进程就不会退出重定向标准输出和标准错误到文件nohup.out(默认情况,可以指定输出的文件)nohup不会自动把进程变为后台任务,所以必须加上&。使用Ctrl + C发送SIGINT信号,程序关闭关闭session发送SIGHUP信号,程序免疫使用&后台运行程序:结果会输出到终端使用Ctrl + C发送SIGINT信号,程序免疫关闭session发送SIGHUP信号,程序关闭经常使用nohup和&原创 2021-06-29 16:37:21 · 1324 阅读 · 0 评论 -
Linux命令的竖线
竖线|是个管道符,将|前面命令的输出作为|后面的输入。双竖线||分割多条命令,在执行时遵循一下规则:如果前一条命令为真,则后面的命令不会执行,如果前一条命令为假,则继续执行后面的命令。...原创 2021-06-28 12:23:27 · 2859 阅读 · 0 评论 -
Linux命令积累
catcat [filename]——查看文件内容cat > [filename]——创建一个文件,接着输入文件内容cat [file1] [file2] > [merge_file_name]——合并几个文件为一个文件,合并后文件内容顺序为file1, file2的先后顺序cat -n [filename]——由 1开始进行编号,并不修改原文件cat -b [filename]——和 -n 相似,只不过对于空白行不编号,并不修改原文件cat -s原创 2020-12-01 11:26:54 · 74 阅读 · 0 评论 -
Ubuntu18.04使用g++编译报错:最后的链结失败: 输出不可表示的节
最近,在Ubuntu18.04下使用g++编译时出现以下错误,记录一下解决方法原因自16.10起,gcc就默认开启了pie选项,导致编译出的文件的mime是application/x-sharedlib,一般的文件管理器只认application/x-executable,就没把它当成可执行的文件.解决方法g++ -fno-pie -no-pie output.o -o test另外,在makefile中也可以添加,使得编译后的文件为可执行文件。...原创 2020-06-17 20:28:06 · 3541 阅读 · 1 评论