running a linux process in MATLAB

I need to check memory usage only while running a particular code in MATLAB. I am working on a linux machine
I need to do the below sequence of events in MATLAB
  • matlab commands (4 code initializing);
  • start checking and logging mem usage (Can be done using system command) ;
  • main matlab commands ;
  • stop checking and logging mem usage (Can be done using system command) ;
I tried the following:
Using watch I can keep doing it infinitely. However it requires a manual stop! And I cant predict when it will stop.
I tried creating a shell script with a flag and then tried to update the flag on another terminal. That to didnt work!
flag=0
while [flag == 0]
do
run cmd
done
and in a terminal tried flag=1
Please help! Will there be a mail sent to my mail id? if any one posts a solution?
Regards,
Manants

Respuestas (1)

Jason Ross
Jason Ross el 20 de Feb. de 2013
Instead of a variable "flag", why not touch a file
touch /tmp/memorylogging
then in your script you use the existance of the file
#!/bin/bash
file="/tmp/memorylogging"
while [ -f "$file" ]
do
run cmd
done
When you are done you can delete the file and the memory logging will stop.
rm /tmp/memorylogging

4 comentarios

Manas Savkoor
Manas Savkoor el 24 de Feb. de 2013
Hi,Am a newbie to linux I didnt understand your code! I did "man" on touch command it said: touch updates the access and modification times of each file. Didnt understand how that is useful to me!
Also when does the while loop stop? didnt follow -f "$file"
Regards, Manas
Jason Ross
Jason Ross el 25 de Feb. de 2013
Editada: Jason Ross el 25 de Feb. de 2013
Touch can do two things -- one is the thing you mentioned, which is to update the access and modification times of a file. The other thing it can do is create an empty file of the name specified if one doesn't exist already, which is pretty useful. So
touch /tmp/memorylogging
will create a file called "memorylogging" in the directory /tmp
So if you did the following in this order
  1. Touch the file
  2. Start the script
The script would run the command until the file was removed, which would make the "while" condition fail, since "-f $file" simply means "does the file exist on disk".
This is a way to implement the control scheme you want, as environment variables aren't communucated between terminal windows.
Manas Savkoor
Manas Savkoor el 26 de Feb. de 2013
Ran into a hiccup, the cmd I wanted instead of run cmd is watch cmd which in turn executes the top cmd in batch mode with the output piped into a text file! I cant run the script unless its in background! Then too despite deleting the flag file it still logged the value until I closed MATLAB! Any help?
Jason Ross
Jason Ross el 26 de Feb. de 2013
I think you need to step back and figure out exactly what to do. Draw it out with blocks and arrows, set up a flowchart, etc. Then start with the code and tools you need. It sounds like you are throwing stuff at the wall and hoping it will stick.
The man pages for the various utilites can be very helpful.

Iniciar sesión para comentar.

Categorías

Más información sobre Startup and Shutdown en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 20 de Feb. de 2013

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by