linux soruce 命令,Linux source命令是干啥的?

1、source命令起源

Linux是个多任务,多用户的操作系统,所以在Linux里面进程和子进程随处可见,不经意间就会从父进程里面诞生出一个子进程,从而实现任务分解的效果,达到多任务的最终目标。

例如,当我们查看linux进程用ps命令的时候,此时你会发现出来两个进程:bash进程和ps进程,如下所示:[root@host ~]# ps

PID TTY TIME CMD

29619 pts/0 00:00:00 bash

29680 pts/0 00:00:00 ps

其中,bash进程为父进程,父shell,而ps为子进程,子shell。

不仅使用Linux内置命令如此,即便我们自己编写shell脚本,也是同理。例如,当我们在shell的命令行窗口执行./a.sh的时候,会启动一个子shell。相对于当前的shell进程来说,a.sh就是以子进程。需要注意的是,my.sh脚本里面的变量属于局部变量,不能被它的兄弟shell或者父shell所看到。

当我们在登录Linux系统之后,对.bash_profile 中的环境变量做了修改,即便执行此脚本也无法即时生效,必须注销并重新登录才行。这个时候可以使用source命令。用source命令重新执行.bash_profile 就能立即生效,而不用注销并重新登录。早期的window修改系统变量或用户变量,也需要重启才能生效,亦是同样道理。

2、source命令与点命令

source 命令是 bash shell 的内置命令,从 C Shell 而来。source 命令的另一种写法是点符号,用法和 source 相同,从Bourne Shell而来。需要注意的是,点命令与表示当前目录的点符号要区分开来。

3、source命令与export命令的区别

source的字面意思是“起源、根源”,用source执行shell脚本,不会启动子shell进程,而是直接在当前shell进程中运行。

source 命令可以强行让一个脚本去立即影响当前的环境。source 命令通常用于重新执行刚修改的初始化文件,如 .bash_profile 和 .profile 等等。

source用于执行脚本,而export用于修饰变量。export的字面意思是“导出、出口”,将shell进程的变量“导出”到子shell进程或者兄弟shell里面。

简言之,source 命令可以影响执行脚本的父shell的环境,而 export 则只能影响其子shell的环境。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux线程池的原理是通过任务队列和线程队列的配合来实现的。任务队列用于存储需要处理的任务,而线程队列则用于存储可用的线程。当有任务需要处理时,线程池会从线程队列中获取一个空闲线程来执行任务。当任务执行完毕后,线程会返回线程队列,等待下一个任务的到来。 线程池的初始化过程包括申请内存、初始化锁和信号量、设置最大线程数量、最大空闲线程数量等。在初始化完成后,线程池就可以开始接收任务并进行处理了。 在任务执行函数中,线程会从任务队列中获取任务,并执行相应的操作。当任务执行完毕后,线程会继续等待下一个任务的到来。需要注意的是,在线程退出后,线程节点的内存并没有归还给操作系统,这是因为设计相对简单,可以根据需要进行改进。 总结来说,Linux线程池的原理是通过任务队列和线程队列的配合来实现任务的分配和执行。这种设计可以提高程序的效率和性能,同时也可以避免频繁地创建和销毁线程。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [linux下c语言版线程池](https://blog.csdn.net/weixin_42398658/article/details/123849826)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Linux线程池的原理及实现](https://blog.csdn.net/weixin_44344462/article/details/96432009)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值