小编jwb*_*ley的帖子

如何在另一个 bash 会话中查看正在运行的进程的输出?

当我在本地工作时,我已经在远程机器上运行了一个脚本。我可以以同一用户身份通过​​ SSH 连接到机器,并查看在ps.

$ ps aux | grep ipcheck
myuser  18386  0.0  0.0  18460  3476 pts/0    S+   Dec14   1:11 /bin/bash ./ipchecker.sh
Run Code Online (Sandbox Code Playgroud)

它只是在本地会话上输出到标准输出(我从./ipchecker.sh本地终端窗口运行,没有重定向,没有使用screen等)。

无论如何,我可以从 SSH 会话中查看此运行命令的输出(不停止它)吗?

到目前为止,我发现的最好的方法是使用,strace -p 18386但我在屏幕上看到成群的文本,它太详细了。我可以停下来strace,然后筛选输出,发现文本带打印到标准输出,但它非常长且令人困惑,很明显,当它停止时,我可能会错过一些东西。我想找到一种方法来实时查看脚本输出,就像我在本地工作一样。

任何人都可以改进吗?显而易见的答案是通过重定向或在screen会话等中重新启动脚本,这不是关键任务脚本,所以我可以这样做。相反,我认为这是一个有趣的学习练习。

bash process io-redirection

302
推荐指数
7
解决办法
48万
查看次数

Bash: ">|" 有什么作用 做?

我刚刚看到这个写下来;

$ some-command >| /tmp/output.txt
Run Code Online (Sandbox Code Playgroud)

标准重定向中使用垂直管道将一个命令的输出“管道”到另一个命令>|,实际上完全没用,因为它与>在这种情况下相同?

bash pipe io-redirection

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

不能ifdown eth0(主界面)

我无法ifdown在 Debian 6.0.5 上使用接口:

user@box:/etc/network$ sudo ifdown eth0 && sudo ifup eth0
ifdown: interface eth0 not configured
SIOCADDRT: File exists
Failed to bring up eth0.

user@box:/etc/network$ cat interfaces 
auto lo
iface lo inet loopback

allow-hotplug eth0 
allow-hotplug eth1 

auto eth0
iface eth0 inet static
address 10.0.0.1
netmask 255.255.255.0
gateway 10.0.0.254

auto eth1
iface eth1 inet manual
Run Code Online (Sandbox Code Playgroud)

根据马可的要求:

user@box:/etc/network/$ cat /run/network/ifstate 
lo=lo
eth1=eth1
Run Code Online (Sandbox Code Playgroud)

networking debian

55
推荐指数
3
解决办法
24万
查看次数

如何拖尾/grep/awk 文件的最后 N 个字节,而不是行

我有一个应用程序记录到纯文本日志文件 (myapp.log),但它似乎没有在每个日志条目的末尾写入换行符。如果我执行一个命令,就像tail -n 50 myapp.log我实际上收到数百“行”文本(日志条目)一样。

这个日志文件非常大,大约1GB,谁知道最后一次CR和/或LF是多久之前插入的。我怎么能抓住说,最后 2MBs 例如?

tail cat

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

在终端和 SSH 上禁用颜色

我的本地 Linux 机器有这样的彩色终端输出;

在此处输入图片说明

当我通过 SSH 连接到 pfSense/BSD 盒子时,它会像这样改变颜色;

在此处输入图片说明

即使当我从没有彩色本地终端输出的机器 SSH 和从那里 SSH 到这个 pfSense/FreeBSD 框时,它也会启用彩色输出,并开始产生不需要的彩色输出/

有什么我可以在本地更改的,以便当我从本地机器或通过中间机器通过 SSH 连接到 pfSense 框时,我的客户端将忽略远程颜色设置。理想情况下,我只想保持黑白,两种色调标准背景和文字颜色?

colors ssh terminal

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

将 HTTP 服务器挂载为文件系统

我有一台机器,我希望在上面安装多个远程服务器以集中访问它们。对于基于 Linux 的远程系统,我使用的 SSHFS 工作正常。但是对于 Windows 系统或没有 SSH 的系统,它们都安装了某种形式的 HTTP 服务器来共享文件(因此它们都启用了目录浏览)。

我可以像 SSHFS 一样将 HTTP 服务器安装为本地文件系统,以便我可以在本地安装所有这些远程服务器并以统一的方式呈现吗?

filesystems remote mount http

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

kill -9 挂起,无法杀死进程(谋杀证明进程)

可能的重复:
如果“kill -9”不起作用怎么办?

我想问这个有点晚了,但供将来参考;

今天,在一位客户报告说使用 ssh 连接很慢并且执行命令也很慢(有些根本不起作用)之后,我被要求查看服务器。

登录后,我可以立即输入,所以我不认为这是延迟或带宽饱和等网络问题(因为我发现这往往与您的 ssh 体验直接相关)。我首先尝试运行top,一分钟没有发生任何事情后,我用 CTRL+C 取消了此操作。提示挂起等待top启动。

free -m 在我取消之前,也只是在提示处挂了一分钟或更长时间。

df -h 确实执行了,并向我展示了 60% 的可用磁盘空间(我想知道是否有一些应用程序出问题并用日志填满了磁盘)。

dmesg 也不会执行。

我执行了tail -n 50 /var/log/message,遗憾的是我不再有输出,但看起来有一个严重的问题。以十六进制打印的大量内存位置,大概它们的内容(难以理解的杂乱无章)在右侧。它与我在谷歌上找到的这个日志中的输出非常相似,试图找到一个类似的例子,除了在右手栏中的大部分行中都包含“ext4”,也许是文件系统错误?

跑步tail -n 50 /var/log/syslog我看到在所有的记忆疯狂中间,这里重复了几行,说对Info procname:pid blocked for more than 120 seconds.

我执行ps aux并查看输出,直到找到一个 CPU 使用率为 299% 的进程;

ps aux | grep procname

procuser    8279  299  0.0 479064 41916 pts/6    Sl+  08:05 548:31 /path/to/procname procbox 6390 6394 6395 0
Run Code Online (Sandbox Code Playgroud)

所以这个过程看起来很疯狂,但我无法执行任何与内存相关的命令(有或没有 sudo)。例如 …

kill process-management

9
推荐指数
1
解决办法
6481
查看次数

Mosh 无法重新连接

我昨天在台式机和服务器上安装了mosh(从源代码编译了最新的 v1.2.3)并且它工作正常。我昨天让会话保持打开状态,今天来到办公室,发现我的 mosh 会话已死,终端窗口顶部出现错误:

mosh: Last contact 14723 seconds ago. [To quit: Ctrl-^ .] 
Run Code Online (Sandbox Code Playgroud)

我认为 mosh 应该自动重新连接,还是必须手动告诉它重新连接?如果是这样,如何?或者,这是我需要在某处启用以自动重新连接的设置吗?

我在同一台服务器上打开了一个 SSH 会话,这仍然可以正常工作。

ssh mosh

6
推荐指数
1
解决办法
1716
查看次数

如何编辑主菜单?

我正在尝试编辑主菜单。

在此处输入图片说明

任何地方都没有菜单编辑器。我已经安装了alacarte它似乎不起作用。另外,有人向我建议“右键单击菜单并单击编辑”,但没有选项。

你应该如何编辑菜单?我在 XFCE 上使用 Linux-mint 13。

谢谢你。

xfce linux-mint

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

定期从邮箱下载附件

是否有我可以经常使用的基于 CLI 的程序(例如通过 cron)用于检查邮箱,并将附件下载到文件夹中?

我有一个名为 photos@doamin.com 的邮箱,我想通过 POP 或 IMAP 定期轮询收件箱中的新电子邮件,并抓取任何新电子邮件的附件(它们将是照片)并将它们下载到本地文件夹。

哪些 CLI 电子邮件实用程序可以做到这一点?

cron download email

5
推荐指数
1
解决办法
7495
查看次数