标签: pid

确定侦听某个端口的进程pid

正如标题所说,我正在运行多个游戏服务器,并且每个游戏服务器都具有相同name但不同PIDport数量.我想匹配PID正在侦听某个端口的服务器,然后我想杀死这个进程.我需要它来完成我的bash脚本.

这甚至可能吗?因为它没有在网上找到任何解决方案.

unix port freebsd pid

94
推荐指数
4
解决办法
21万
查看次数

如果线程共享相同的PID,它们如何识别?

我有一个与Linux中的线程实现相关的查询.

Linux没有明确的线程支持.在用户空间中,我们可能使用线程库(如NPTL)来创建线程.现在,如果我们使用NPTL,它支持1:1映射.

内核将使用该clone()函数来实现线程.

假设我创建了4个线程.那意味着:

  • 将会有4个task_struct.
  • 在内部task_struct,将根据克隆的参数提供共享资源(CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND).

现在我有以下查询:

  1. 4个线程是否具有相同的PID?如果有人可以详细说明,如何共享PID.
  2. 如何识别不同的线程; 是否有一些TID(线程ID)概念?

multithreading pid linux-kernel

91
推荐指数
2
解决办法
5万
查看次数

我的pidfile必须位于/ var/run中吗?

我在两种情况下都要求:技术上和风格上.

我的应用程序/守护程序可以保留pidfile /opt/my_app/run/吗?

这样做真的很糟糕吗?

我的需要是这样的:我的守护进程在特定用户下运行,并且实现者必须mkdir一个新的目录/var/run,chown和chgrp它以使我的守护进程运行.似乎更容易将pidfile保持为本地(对守护进程).

unix linux ubuntu pid

70
推荐指数
4
解决办法
5万
查看次数

如何获得我刚刚在java程序中启动的进程的PID?

我已经开始使用以下代码进行处理

 ProcessBuilder pb = new ProcessBuilder("cmd", "/c", "path");
 try {
     Process p = pb.start();       
 } 
 catch (IOException ex) {}
Run Code Online (Sandbox Code Playgroud)

现在我需要知道我刚刚开始的进程的pid.

java pid process processbuilder

66
推荐指数
7
解决办法
10万
查看次数

Linux PID回收

Linux中是否有关于使用的PID回收的政策?我的意思是,如果使用了PId,它会在多久后再次使用?

linux pid recycle

66
推荐指数
2
解决办法
2万
查看次数

Postgres DB无法在Mac OSX上启动:ERROR说:Unix域套接字上的连接

我已经安装了Postgresql,然后在我的本地Mac OSX Mountain Lion上运行了一堆rails应用程序并创建了数据库等.过了一段时间,当我启动pgAdminIII并尝试启动数据库服务器时,我遇到了这个错误:

在此输入图像描述

快速谷歌显示这篇文章.更多的浏览指出,可能存在某种postmaster.pid文件,这可能是导致这种情况的根本原因.如果我删除那些东西就没事了.

但是,在我删除计算机上的东西之前,我想确保我以系统的方式调试它,这不会导致更多的问题.

我在删除该文件之前读到的某个地方,我需要运行这个命令:

  ps auxw | grep post
Run Code Online (Sandbox Code Playgroud)

如果我没有得到任何结果,可以删除该文件.否则不是.好吧,我得到了这个命令的结果:

  AM               476   0.0  0.0  2423356    184 s000  R+    9:28pm   0:00.00 grep post
Run Code Online (Sandbox Code Playgroud)

所以现在当然我非常困惑.

所以我该怎么做?

这是我的postgres服务器错误日志的一部分:

 FATAL:  lock file "postmaster.pid" already exists
 HINT:  Is another postmaster (PID 171) running in data directory "/usr/local/var/postgres"?
Run Code Online (Sandbox Code Playgroud)

Postgresql仍然没有运行,仍然得到相同的错误,没有任何改变.我太老了,没有检查SO就删除了东西.

有些专家可以指导一个菜鸟.

谢谢

unix postgresql macos pid pgadmin

66
推荐指数
3
解决办法
4万
查看次数

有人能解释一下Erlang中Pid的结构吗?

有人能解释一下Erlang中Pid的结构吗?

Pids看起来像这样:<A.B.C>例如<0.30.0>,但我想知道这三个"位"的含义是什么:A,B和C.

本地节点上的"A"似乎始终为0,但当Pid的所有者位于另一个节点上时,此值会更改.

是否可以仅使用Pid在远程节点上直接发送消息?这样的事情:<4568.30.0>!消息,无需明确指定已注册进程的名称和节点名称({proc_name,Node}!Message)?

erlang pid

65
推荐指数
3
解决办法
2万
查看次数

PID和TID之间的区别

PID和TID有什么区别?

标准答案是PID用于进程,而TID用于线程.但是,我已经看到一些命令可以互换使用它们.例如,htop有一个PID列,其中显示了相同进程的线程的PID(具有不同的值).那么PID何时表示线程或进程?

linux pid

60
推荐指数
2
解决办法
5万
查看次数

如何杀死后台/分离的ssh会话?

我正在使用程序协同与ssh隧道

它工作,我只需打开一个控制台类型这两个命令:

ssh -f -N -L localhost:12345:otherHost:12345 otherUser@OtherHost
synergyc localhost
Run Code Online (Sandbox Code Playgroud)

因为我很懒,我制作了一个Bash-Script,只需点击一下图标即可运行:

#!/bin/bash
ssh -f -N -L localhost:12345:otherHost:12345 otherUser@OtherHost
synergyc localhost
Run Code Online (Sandbox Code Playgroud)

上述与bash脚本工作为好,但现在我也想杀死协同效应,并通过鼠标点击一个SSH通道,所以我必须协同和ssh的PID保存到文件后,杀死他们:

#!/bin/bash

mkdir -p /tmp/synergyPIDs || exit 1
rm -f /tmp/synergyPIDs/ssh || exit 1
rm -f /tmp/synergyPIDs/synergy || exit 1

[ ! -e /tmp/synergyPIDs/ssh ] || exit 1
[ ! -e /tmp/synergyPIDs/synergy ] || exit 1

ssh -f -N -L localhost:12345:otherHost:12345 otherUser@OtherHost
echo $! > /tmp/synergyPIDs/ssh
synergyc localhost
echo $! > /tmp/synergyPIDs/synergy
Run Code Online (Sandbox Code Playgroud)

但是这个脚本的文件是空的.

如何获得ssh和协同作用的PID?
(我尽量避免ps aux | grep ... …

ssh bash pid background-process

59
推荐指数
6
解决办法
9万
查看次数

错误!找不到MySQL管理器或服务器PID文件!QNAP

我有一个问题,MySQL没有启动我的QNAP NAS.

我首先发现这是因为无法通过phpMyAdmin登录 - 收到错误:

#2002 Cannot log in to the MySQL server
Run Code Online (Sandbox Code Playgroud)

然后我去尝试启动mysql,因为我猜这是一个常见问题,但它只是给出了一般错误.

我经历了mysql.sock文件和一切的故障排除,更改了它的权限,但没有任何工作.

我多次重启我的NAS.

我最终试图重启mysql.这样做我得到:

ERROR! MySQL manager or server PID file could not be found!
Run Code Online (Sandbox Code Playgroud)

我找不到任何特定的QNAP或任何一般类型的故障排除.我发现的一切似乎与OSX有关.

mysql pid qnap

55
推荐指数
5
解决办法
18万
查看次数