作为我工作的新公司的培训练习,一位朋友在我的网络服务器上放置了一个脚本,该脚本显示( ͡° ͜ʖ ͡°)
在我的 CLI 屏幕的右上角,然后嵌入到服务器中。
使用ps -ef
我找到了正在运行的脚本:
root 20071 1 0 Oct07 ? 00:03:04 bash
我尝试运行:
ps -p 20071 -o comm=
哪个输出 =bash
我也尝试过l -la /proc/20071/exe
哪个输出 =
lrwxrwxrwx 1 root root 0 Oct 7 21:03 /proc/20071/exe -> /bin/bash*
我位于usr/bin/
我认为脚本所在的位置,但我似乎无法隔离它,因为我没有看到bash
该文件夹中的引用。
我对 CLI 相当陌生,所以我知道我一定错过了一些明显的东西。脚本本身是否称为 bash,或者只是显示类型?我假设该脚本是一个 .sh 文件,但我不确定。
有没有办法使用 PID 或其他方法来确定正在运行的脚本及其所在位置?
答案1
这是一个 bash 脚本,因此该进程正在执行/bin/bash
。这很正常。
该脚本由 bash 进程打开。使用ls -l /proc/20071/fd
或lsof -p 20071
列出该进程打开的文件。默认情况下,您将在文件描述符 255 上找到该脚本。
cat /proc/20071/fd/255
(这是否是导致音标和变音符号出现在您的终端上的原因,以及它是如何做到这一点的,都是不同的问题,您目前没有足够的信息。)