Linux ps state sl+是什么意思
关注:213 答案:2 mip版
解决时间 2021-01-24 00:56
提问者莪早已看透了誓言
2021-01-23 16:44
Linux ps state sl+是什么意思
最佳答案
二级知识专家会有一股神秘感
2021-01-23 17:31
下面这是一段java代码,
public class Z
{
public static void main(String[] args)
{
new Z();
}
private Z()
{
Z a1=this;
Z a2=this;
synchronized(a1)
{
try
{
a2.wait();
System.out.println("done waiting");
}
catch (InterruptedException e)
{
System.out.println("InterruptedException");
}
catch (Exception e)
{
System.out.println("Exception");
}
finally
{
System.out.println("finally");
}
}
System.out.println("all done");
}
}
编译后运行
java Z
没有任何输出,程序也不会结束。
ps看了一下状态,发现状态是sl+,
在Linux中,状态如下:
D 不可中断 Uninterruptible sleep (usually IO)
R 正在运行,或在队列中的进程
S 处于休眠状态
T 停止或被追踪
Z 僵尸进程
W 进入内存交换(从内核2.6开始无效)
X 死掉的进程
< 高优先级
N 低优先级
L 有些页被锁进内存
s 包含子进程
+ 位于后台的进程组
l 多线程,克隆线程
根据以上信息,得知其处于休眠状态,多线程,且是后台进程。
我们知道Java中,
wait():让线程处于等待状态。这时线程会释放锁。并存入到了线程池中。
notify():通常唤醒线程池中的第一个。
notifyAll():将线程池中的所有等待线程都唤醒。
所以在wait的时候,此线程休眠等待其他线程notify,所以就处于休眠状态了。
全部回答
1楼雨落轻尘
2021-01-23 19:07
1. 如果你是在shell窗口执行的sl,试一试直接关闭shell窗口;
2. 你可以使用ps -ef |grep -w sl来获取sl进程的pid,然后kill之:
ps -ef |grep -w sl |grep -v grep |awk '{print $2}' |xargs kill -9
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
→点此我要举报以上信息!←
推荐资讯
大家都在看