Page 1 of 1

GTKdialog leftovers

Posted: Tue 27 Oct 2009, 19:02
by 8-bit
When a program is made with GTKdialog , it seems to be common practice to leave any files created in /tmp to be removed upon reboot.
But would it not be cleaner to add one line to the end of the script to remove the file in /tmp before exiting?
I will use as an example a program written to use a /tmp file called number.
The script is run. The /tmp/number file is created and used.
Upon exiting the script, the /tmp/number file is still there.
With the addition of one line, "rm /tmp/number" before the script is ended, the /tmp/number file is removed without rebooting.

End of script example:

gtkdialog3 -p MAIN_DIALOG
rm /tmp/number
unset -f add
unset MAIN_DIALOG


Comments?

Posted: Tue 27 Oct 2009, 19:07
by amigo
Hey, that's a novel idea! Clean, orderly coding! And suggested by a beginner, to boot. I hope you'll do your own work following those principals and keep on hammering away at those who don't -I run out of breath sometimes...

Posted: Tue 27 Oct 2009, 19:15
by 8-bit
I wondered if the command to remove the file from /tmp would leave a whiteout file in it's place.
I just checked and it does not.

Posted: Tue 27 Oct 2009, 19:58
by sunburnt
Hi 8-bit; I believe that /tmp is in ram and is not part of the union ( but I may be wrong...).
So that`s why it comes up clean after every boot, the Save file doesn`t over shadow it.
That`s why all temporary dirs., files, links, pipes, and even mount points are best put into /tmp
When I write an app. I usually make a /tmp sub dir. for it so it doesn`t make a mess out of /tmp
Like: /tmp/SambaBrowser

Posted: Tue 27 Oct 2009, 20:07
by technosaurus
The only way it would leave a whiteout file in its place is if the file copies over one that exists in a unioned sfs.

Even better would be to create folder in tmp and remove the folder.

Code: Select all

rm -rf /tmp/myprogramtmpfolder
rather than a line of code for each file

also some programs leave the files there intentionally for debugging or other reasons

Posted: Tue 27 Oct 2009, 23:10
by 8-bit
I guess what I am getting at here is that if /tmp is located in memory and one has a limited amount of memory, the /tmp files created take up memory that could be recovered by deleting them when the program ends.
If you want an extreme example, open a terminal and type free.
Now copy an big file to /tmp.
In the terminal, type free again.
Notice the decrease in free ram?
But I also noticed that deleting the big file from /tmp does not fully recover the free ram.
Puzzled....