在SunOS上,有一个pargs
命令可以打印传递给正在运行的进程的命令行参数.
在其他Unix环境中是否有类似的命令?
在主机上运行多个具有相同名称的进程.使用python或jython通过名称获取这些进程的PID的跨平台方法是什么?
pidof
python 一样的东西.(pidof
反正我也没有.)/proc
因为它可能不可用(在HP-UX上).os.popen('ps')
和解析输出,因为我觉得它很难看(字段顺序可能在不同的操作系统中有所不同).我有一个shell脚本,它执行以下操作以将当前日期存储在变量'dt'中:
date "+%a %d/%m/%Y" | read dt
echo ${dt}
Run Code Online (Sandbox Code Playgroud)
我如何将昨天的日期变成变量?
基本上我想要实现的是使用grep从日志文件中提取所有昨天的行,因为日志中的每一行都包含"Mon 01/02/2010"格式的日期.
非常感谢
我需要找出哪些端口附加到Unix机器上的哪些进程(HP Itanium).不幸的是,lsof
没有安装,我无法安装它.
有没有人知道另一种方法?一个相当漫长的谷歌搜索会议没有发现任何东西.
在使用unix时,有人可以告诉我如何在c ++中激活RTTI.我听说它可以被禁用和启用.在我的unix环境中,我如何检查RTTI是启用还是禁用?
我aCC
在HPUX上使用编译器.
我有一个已部署到客户站点的C应用程序.它是在HP-UX上编译和运行的.用户已报告崩溃,我们已获得核心转储.到目前为止,我一直无法在内部复制崩溃.
正如您所怀疑的那样,核心文件/部署的可执行文件完全没有任何符号.当我在gdb中加载并执行bt时,我得到的最好的是:
(gdb) bt
#0 0xc0199470 in ?? ()
Run Code Online (Sandbox Code Playgroud)
我可以在文件上做一个'字符串核心',但我的理解是,所有我到达那里的是可执行文件中的所有字符串,所以在那里找到任何东西似乎是不可能的.
我确实有一个可执行文件的调试版本(用-g编译),不幸的是比发布版本新几个月.如果我尝试使用该集线器启动gdb,我会看到:
warning: exec file is newer than core file.
Core was generated by `program_name'.
Program terminated with signal 11, Segmentation fault.
__dld_list is not valid according to __dld_flags.
#0 0xc0199470 in ?? ()
(gdb) bt
#0 0xc0199470 in ?? ()
Run Code Online (Sandbox Code Playgroud)
虽然编译调试版本并将其部署在客户的站点然后等待另一次崩溃是可行的,但由于多种原因,这将是相对困难和不可取的.
我对代码非常熟悉,并且根据客户的错误报告,对代码崩溃的位置有了更好的了解.
有什么方法可以从这个核心转储中收集更多信息吗?通过字符串或其他调试器或任何东西?谢谢.
我有一个tar
包含几个文本文件的存档.我想编写一个脚本来显示(stdout)文件的内容,而不将其提取到当前目录.
其实我想做同样的事情:
tar tf myArchive.tar folder/someFile.txt
cat folder/someFile.txt
rm -R folder
Run Code Online (Sandbox Code Playgroud)
但没有rm
......
我试过这种方式,但它不起作用:
tar tf myArchive.tar folder/someFile.txt | cat
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在使用bash构建一个脚本,我将在变量中获取文件名,然后使用此变量获取文件unix最后修改日期.
我需要获取此修改日期值,我不能使用stat命令.
你知道用常见的*nix命令来获取它吗?
我正在尝试将XS编译成perl [ed(ikegami):也就是说他正在使用:: MakeMaker make perl
来创建一个perl
静态链接的C供应商库]但是当我这样做时,新版本的perl不支持动态加载模块.每当我尝试运行类似use Socket
(或任何其他模块)的perl代码时,我得到:
Can't load module Socket, dynamic loading not available in this perl.
Run Code Online (Sandbox Code Playgroud)
是否有编译器/链接器开关我设置不正确或什么?所有这些都是在1998年和2004年在另一个盒子(PA-RISC上的hpux旧)上编译的,但是我们正在转向一个新的盒子(hpux11 itanium)而且我正在撞墙.
这是我的Makefile.PL:
use ExtUtils::MakeMaker;
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
WriteMakefile(
'NAME' => 'Udtutil',
'VERSION_FROM' => 'Udtutil.pm', # finds $VERSION
'LIBS' => '-L/usr/ud/PFUSION/Udtutil -L/usr/ud/lib -lapidummy ' .
'-lshare -ludsql -ludmach -lbasic ' .
'-lperf -lret1 -lides -lpipe -lfunc -lndx -lrep -lshm ' .
'-lmglm …
Run Code Online (Sandbox Code Playgroud) 我仍然在努力编译一个C控制台应用程序,编译过程仍然失败,错误如下:
"Main.c", line 51: error #2040: expected an identifier
extern "C" void TreatReceivedSignal( int NoSignal ) ;
^
1 error detected in the compilation of "Main.c".
gmake: *** [Main.o] Error 2
Run Code Online (Sandbox Code Playgroud)
下面是C代码上extern方法的声明:
extern "C" void TreatReceivedSignal( int NoSignal ) ;
Run Code Online (Sandbox Code Playgroud)
我正在使用HP-UX aCC编译器[HP C/aC++ B3910B A.06.26],我也打开了编译标志-Ae以启用C99支持.似乎编译器无法将'extern"C"'识别为C保留字,可能需要设置其他一些编译标志.请问有什么可以解决这类问题吗?非常感谢你提前.问候