当我在本地工作时,我已经在远程机器上运行了一个脚本。我可以以同一用户身份通过 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会话等中重新启动脚本,这不是关键任务脚本,所以我可以这样做。相反,我认为这是一个有趣的学习练习。
我刚刚看到这个写下来;
$ some-command >| /tmp/output.txt
Run Code Online (Sandbox Code Playgroud)
标准重定向中使用垂直管道将一个命令的输出“管道”到另一个命令>|,实际上完全没用,因为它与>在这种情况下相同?
我无法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) 我有一个应用程序记录到纯文本日志文件 (myapp.log),但它似乎没有在每个日志条目的末尾写入换行符。如果我执行一个命令,就像tail -n 50 myapp.log我实际上收到数百“行”文本(日志条目)一样。
这个日志文件非常大,大约1GB,谁知道最后一次CR和/或LF是多久之前插入的。我怎么能抓住说,最后 2MBs 例如?
我的本地 Linux 机器有这样的彩色终端输出;

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

即使当我从没有彩色本地终端输出的机器 SSH 和从那里 SSH 到这个 pfSense/FreeBSD 框时,它也会启用彩色输出,并开始产生不需要的彩色输出/
有什么我可以在本地更改的,以便当我从本地机器或通过中间机器通过 SSH 连接到 pfSense 框时,我的客户端将忽略远程颜色设置。理想情况下,我只想保持黑白,两种色调标准背景和文字颜色?
我有一台机器,我希望在上面安装多个远程服务器以集中访问它们。对于基于 Linux 的远程系统,我使用的 SSHFS 工作正常。但是对于 Windows 系统或没有 SSH 的系统,它们都安装了某种形式的 HTTP 服务器来共享文件(因此它们都启用了目录浏览)。
我可以像 SSHFS 一样将 HTTP 服务器安装为本地文件系统,以便我可以在本地安装所有这些远程服务器并以统一的方式呈现吗?
可能的重复:
如果“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)。例如 …
我昨天在台式机和服务器上安装了mosh(从源代码编译了最新的 v1.2.3)并且它工作正常。我昨天让会话保持打开状态,今天来到办公室,发现我的 mosh 会话已死,终端窗口顶部出现错误:
mosh: Last contact 14723 seconds ago. [To quit: Ctrl-^ .]
Run Code Online (Sandbox Code Playgroud)
我认为 mosh 应该自动重新连接,还是必须手动告诉它重新连接?如果是这样,如何?或者,这是我需要在某处启用以自动重新连接的设置吗?
我在同一台服务器上打开了一个 SSH 会话,这仍然可以正常工作。
我正在尝试编辑主菜单。

任何地方都没有菜单编辑器。我已经安装了alacarte它似乎不起作用。另外,有人向我建议“右键单击菜单并单击编辑”,但没有选项。
你应该如何编辑菜单?我在 XFCE 上使用 Linux-mint 13。
谢谢你。
是否有我可以经常使用的基于 CLI 的程序(例如通过 cron)用于检查邮箱,并将附件下载到文件夹中?
我有一个名为 photos@doamin.com 的邮箱,我想通过 POP 或 IMAP 定期轮询收件箱中的新电子邮件,并抓取任何新电子邮件的附件(它们将是照片)并将它们下载到本地文件夹。
哪些 CLI 电子邮件实用程序可以做到这一点?