开发者

memory of a process in Lua

开发者 https://www.devze.com 2023-04-07 01:54 出处:网络
How can I get the meomory of any Process in Lua? Is it possible in Lua? Is C# it is possible but I am not sure.

How can I get the meomory of any Process in Lua?

Is it possible in Lua? Is C# it is possible but I am not sure.

In C# we can use PerformanceCounter class to get the

PerformanceCounter WorkingSetMemoryCounter = new PerformanceCounter("Process",
    "Working Set", ReqProcess.ProcessName);

What is equivalent of this in开发者_Python百科 Lua?

Suppose there are 5 process of IE (Internet Explorer) running . How to get a List of those process?


To elaborate on what others have said, Lua is a scripting language designed for embedding. That means that it runs inside another application.

Lua.exe is one such application. But it is not the only application that Lua scripts can be written to be executed on.

When within a Lua script, you have access to exactly and only what the surrounding application environment allows. If the application does not explicitly allow you to access things like "files" or "the operating system", then you don't get to access them. Period.

Lua's standard library (which an application can forbid scripts to use. Lua.exe allows it, but there are some embedded environments that do not) is very small. It doesn't offer a lot of amenities, which make Lua ideal for embedded environments: small standard libraries mean smaller executables. Which is why you see a lot more Lua in mobile applications than, say, Python. Also, the standard library is cross-platform, so it does not access platform-specific libraries.

Modules, user-written programs (either in Lua or C/C++) can be loaded into Lua.exe's environment. Such a module could give your Lua script access to things like "processes", how much memory the process is taking, and so forth. But if you do not have access to such a module, then you're not getting that info from within a Lua script.

The most you are going to be able to do is get the size of the memory that this particular Lua environment is directly allocating and using, as @lhf said: collectgarbage "count".


To get the memory allocated by Lua in Kbytes, use collectgarbage"count".


Lua does not comes with this built-in functionality. You could write a binding to a library that provides you that or you could interface with a program to do that (like reading the output of "ps -aux | grep firefox").

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号