Articles of unix

Java代码来执行.sh文件

我有一个.sh文件存储在一些Linux系统。 该文件的完整path是: /comviva/CPP/Kokila/TransactionHandler/scripts/stopTH.sh 我正在努力执行它 Runtime.getRuntime().exec(`/comviva/CPP/Kokila/TransactionHandler/scripts/stopTH.sh`) 但它是抛出一些例外。 我想在我的Java程序在MS-Windows环境中执行该文件; 可能吗?

Java Process的常驻内存使用量(RSS)不断增长

我们最近对我们的生产系统的观察告诉我们,我们的Java容器的常驻内存使用量增长了。 针对这个问题,我们做了一些调查,理解为什么java进程比堆栈+线程栈+共享对象+代码caching+等消耗更多的内存,使用一些本地工具,如pmap。 因此,我们发现一些由本地进程(可能是使用malloc / mmap)分配的64M内存块(成对): 0000000000400000 4K rx– /usr/java/jdk1.7.0_17/bin/java 0000000000600000 4K rw— /usr/java/jdk1.7.0_17/bin/java 0000000001d39000 4108K rw— [ anon ] 0000000710000000 96000K rw— [ anon ] 0000000715dc0000 39104K —– [ anon ] 00000007183f0000 127040K rw— [ anon ] 0000000720000000 3670016K rw— [ anon ] 00007fe930000000 62876K rw— [ anon ] 00007fe933d67000 2660K —– [ anon ] […]

什么是OSX上的Windows QueryPerformanceCounter的等价物?

我正在将一个库从Windows移植到* NIX(现在是OSX),现在没有人可以使用什么函数来代替Microsoft的QueryPerformanceCounter和QueryPerformanceFrequency?

Windows有一个__declspec相当于Unix GCC的__attribute __((弱))?

我想导入一些C代码,但是重写它的main()函数。 我可以在Unix下用__attribute__((weak))预处理C代码的主要声明,但是这不会在Windows中编译,因为Strawberry Perl的GCC和MinGW的GCC都不能识别__attribute__((weak)) 。 在线阅读文档, __declspec似乎function相似。 是否有一个相当于Unix GCC的__attribute__((weak))macros的__declspec ? 这是我发布的早期问题的更具体的版本。

如何从任意pthread_t获取线程ID?

我有一个pthread_t,我想改变它的CPU亲和力。 问题是我使用glibc 2.3.2,它没有pthread_setaffinity_np() 。 没关系,因为pthread_setaffinity_np()本身就是sched_setaffinity()的一个包装,可以通过传递线程ID而不是进程ID来设置任意线程的关联。 但是 … sched_setaffinity可以使用的线程ID是一个操作系统线程ID,可以从gettid()系统调用中获得。 这与opaquetypes的pthread_t不同 ,gettid()只会返回当前线程的thread-id。 我需要能够设置任意线程的CPU亲和力。 不幸的是,我不能访问pthread的私有部分,这会让我通过将pthread_t转换为struct pthread *来窃取线程id。 我猜,更好一些,因为依赖私有实现需要更多的麻烦。 我也一直在阅读pthread_getunique_np函数,但是这会返回一个“唯一的整型标识符” – 我不认为它是以任何forms或forms等同于操作系统线程ID。 因此,问题:我如何从任意pthread_t获得线程ID?

不能读取ascii字符26?

我用文本模式在一个文件中写了一个stream。 # python code f = open("somewhere in my computer","w") f.write("Hello\nWorld") f.write(chr(26)) # writing ascii character #26 to file f.write("hhh") f.close() ASCII字符#26之后我无法读取字节。 我知道我应该用二进制模式打开文件。 是ASCII字符#26 EOF字符。 如你所知,没有这样的东西,ei没有EOF字符。 那么问题是什么? 这是一个操作系统相关的问题? (我在微软的Windows中尝试这个)。

在Windows系统中recursion重命名文件夹和文件

我有以下文件夹结构: Top Folder -> SubFolder1 -> MyFolder_Latest -> MyFile_Latest.txt -> SubFolder2 -> MyFolder_Latest -> MyFile_Latest.txt -> SubFolder3 -> MyFolder_Latest -> MyFile_Latest.txt 我希望更改上面给出的不同子文件夹中的文件夹和文件。 所有的文件夹和文件都有相同的名称,我想更改为以下内容: Top Folder -> SubFolder1 -> myfolder -> myfile.txt -> SubFolder2 -> myfolder -> myfile.txt -> SubFolder3 -> myfolder -> myfile.txt 基本上在这里做两件事:a)从所有的文件和文件夹名称中删除_Latest。 b)将所有文件夹和文件的大小写转换为小写 任何人有什么想法如何在Windows中实现上述? 我的系统不允许安装UNIX,我不能将这些文件复制到UNIX系统,因为我们的networking目前不在任何UNIX盒子上提供SCP或FTP权限:-( 另外,如果有人在UNIX中有一个合适的解决scheme,我可以尝试将这些文件夹复制到一张DVD上,然后尝试在UNIX机器上运行这些命令:-)

用于Unix的Windows查找命令来search多个文件types

虽然在窗口中安装了cygwin给了unix命令的大部分,我仍然想知道如何使用Windows“查找”命令在一个命令中search多个文件types。 即: find . -name *.cpp -o -name *.h -o -name *.java find . -name *.cpp -o -name *.h -o -name *.java 上面的命令给出了所有cpp,h和java的列表,使用windows查找什么等价物?

stdout线程安全在Linux上的C?

在Linux上使用printf线程安全写入标准输出? 那么使用底层write命令呢?

在Windows命令提示符中使用shebang / hashbang

我正在使用服务脚本来在Windows 7上提供Node.js的目录。它在MSYS shell或sh运行良好,因为我已经把node.exe和服务脚本放在了我的〜/ bin中在我的PATH上),而input“serve”是因为它是Shebang ( #! )指令,它告诉shell使用节点运行它。 但是,Windows命令提示符似乎不支持没有* .bat或*。exe扩展名的普通文件,也不支持shebang指令。 是否有任何registry项或其他黑客,我可以强制从内置的cmd.exe这种行为? 我知道我可以写一个简单的batch file来运行它,但是我想知道是否可以在一个内置的fasion中完成,所以我不必为每个脚本写一个脚本? 更新:其实,我在想,是否有可能为所有'找不到的文件'编写一个默认的处理程序,我可以自动尝试在sh -c执行? 谢谢。