| Author |
Message |
8-bit

Joined: 03 Apr 2007 Posts: 3033 Location: Oregon
|
Posted: Tue 27 Oct 2009, 15:02 Post subject:
GTKdialog leftovers Subject description: Files left in /tmp by a GTKdialog script |
|
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?
|
|
Back to top
|
|
 |
amigo
Joined: 02 Apr 2007 Posts: 1776
|
Posted: Tue 27 Oct 2009, 15:07 Post subject:
|
|
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...
|
|
Back to top
|
|
 |
8-bit

Joined: 03 Apr 2007 Posts: 3033 Location: Oregon
|
Posted: Tue 27 Oct 2009, 15:15 Post subject:
|
|
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.
|
|
Back to top
|
|
 |
sunburnt

Joined: 08 Jun 2005 Posts: 4016 Location: Arizona, U.S.A.
|
Posted: Tue 27 Oct 2009, 15:58 Post subject:
|
|
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
|
|
Back to top
|
|
 |
technosaurus

Joined: 18 May 2008 Posts: 3845
|
Posted: Tue 27 Oct 2009, 16:07 Post subject:
|
|
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: | | 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
_________________ Puppy Web Desktop Now with pet packages - Pet Packaging 100 & 101
|
|
Back to top
|
|
 |
8-bit

Joined: 03 Apr 2007 Posts: 3033 Location: Oregon
|
Posted: Tue 27 Oct 2009, 19:10 Post subject:
|
|
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....
|
|
Back to top
|
|
 |
|