我正在尝试监视 CPU 的操作,并且发现了一些有趣的事情。
首先我有一个脚本,名称task.sh
如下:
#!/bin/sh
for i in {1..999}; do
sleep 2
echo $$
然后我执行./task.sh
,同时多次执行该命令ps -Lo psr $(pgrep task)
以获取正在执行的 CPU 数量./task.sh
。
我发现输出正在改变。
那么,这是否意味着CPU将被重新分配给任何从挂起(睡眠)转变为运行的任务? Linux内核就是这样工作的吗?