04-13-2009
You can't free an statically allocated variable (like your int test above), not in C nor Java nor C# or any other language. It's always valid until execution leaves the variables scope (usually the containing block or when an object is destroyed).
With malloc(3) you can allocate memory for an array or structure, which you can access via a pointer afterward. When you're done, use free(3) to return that memory to OS control. It's basically "ask the OS for control of a memory segment and return that control afterwards", no need to dispose of anything.
In C++ you'll use new and delete instead of malloc and free.
8 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
For some reason, I'm having a bit of a brain fart here and cannot think of a simple solution to this problem...
We have a samba server installed on one of our Darwin boxes. Someone is doing massive amounts of work through a samba share, and in turn in pegging samba and the box. I can see how... (1 Reply)
Discussion started by: fender177
1 Replies
2. UNIX for Dummies Questions & Answers
I currently access a remote Unix server which has an external modem connected to one of it's serial ports (/dev/cua/b). At times, this server undergoes a hard reset and for some reason this disallows us from making use of the modem any longer. A hard reset of the modem always seems to fix the... (0 Replies)
Discussion started by: ebender1
0 Replies
3. Solaris
Hi,
I got a solarsi 10 box with 9 zones and the cpu shares as following
ID NAME SHARES
0 global 1
1 FMW1 100
2 FMW2 100
3 OID1 100
4 OID2 100
5 OVD1 100
6 OID0 100
7 FMW5 100
8... (2 Replies)
Discussion started by: fugitive
2 Replies
4. UNIX for Dummies Questions & Answers
Hello,
I am trying to free memory allocation after EOF from keyboard is detected (ctrl+D) in a C program. I've written a small program to replicate my problem:
int main(int argc, char *argv) {
char *line;
line = (char*)malloc(sizeof(char)*(512));
line = fgets(line, 512,... (1 Reply)
Discussion started by: oddworld
1 Replies
5. Programming
Hello,
I am trying to free memory allocation after EOF from keyboard is detected (ctrl+D) in a C program. I've written a small program to replicate my problem:
int main(int argc, char *argv) {
char *line;
line = (char*)malloc(sizeof(char)*(512));
line = fgets(line, 512,... (10 Replies)
Discussion started by: oddworld
10 Replies
6. Boot Loaders
Here is a list of resources for Unix and GNU/Linux bootloaders:
GRUB Legacy: The original GRand Unified Bootloader. Now known as GRUB Legacy.
GRUB: The latest and greatest. More commonly known as GRUB2.
BRUG: Brand-new Universal loadeR from GRUB. Based on GRUB. Adds features like new object... (0 Replies)
Discussion started by: fpmurphy
0 Replies
7. Shell Programming and Scripting
Hi guys,
I wrote a basic inotifywait shell script on my CentOS 5.6 x86_64 test server that syncs any deleted files in a directory.
/usr/bin/script
#!/bin/sh
inotifywait -m -e delete /home/user/test | while read file; do
# log event here
done
The script alone works fine. However, the... (4 Replies)
Discussion started by: TECK
4 Replies
8. UNIX for Dummies Questions & Answers
:)Hi all,
Please advice me is it safer to use the following command to free up (truncate) space in HDD.
1) > /usr/adm/messages
2) > /usr/adm/sulog
3) > /usr/adm/ctlog
4) > /tmp
5) > /usr/adm/sa
6) > /var/spool
Thanks in advance
Rukshan (1 Reply)
Discussion started by: rukshan4u2c
1 Replies
LEARN ABOUT DEBIAN
torrus_collector
TORRUS_COLLECTOR(8) torrus TORRUS_COLLECTOR(8)
NAME
collector - Torrus data Collector.
SYNOPSIS
torrus collector --tree=TREENAME [options...]
DESCRIPTION
This command starts the Collector process for the tree TREENAME. By default it forks into a daemon, sets the log output file to
/var/log/torrus/collector.TREENAME.log, performs one Collector cycle, and sleeps until the next cycle is scheduled. In daemon mode the log
file can be reopened by sending it a SIGHUP signal.
Collector cycle scheduling is controlled by two parameters defined for each individual configuration leaf: "collector-period" and
"collector-timeoffset". See the Torrus Configuration Guide for more details.
The number of OID (Object IDentifier) variable bindings sent by Collector is controlled by the datasource parameter "snmp-oids-per-pdu".
It is set to a default value of 40 in snmp-defs.xml, and may be overwritten at the host level.
OPTIONS
--instance=N
Defines the collector instance. A single tree can allow more than one collector instance. The number of instances is defined in "run"
hash in the torrus-siteconfig.pl's %Torrus::Global::treeConfig. If the number of instances is more than one, this option is mandatory.
The collecting job is split between the instances, and normally all instances should be started by the startup scripts. The tree should
be re-compiled after the number of instances is changed in the siteconfig. In the example below the tree tree_A will be served by
three collector instances:
%Torrus::Global::treeConfig = (
'tree_A' => {
'description' => 'The First Tree',
'xmlfiles' => [qw(a1.xml a2.xml a3.xml)],
'run' => { 'collector' => 3, 'monitor' => 1 } },
);
--nodaemon
Prevents the process from becoming a daemon and sets the log to STDERR.
--runonce
Instructs the collector to run once and exit. Implies --nodaemon.
--runalways
Instructs the collector process to continue running even if no collector datasources are defined in the tree. In this case, the process
will check once per hour if the configuration has changed.
--debug
Sets the log level to debug.
--verbose
Sets the debug level to info.
--help
Displays a help message.
FILES
/etc/torrus/conf/torrus-siteconfig.pl
Torrus site configuration script.
/var/log/torrus/collector.TREENAME.log
Collector's log for the tree TREENAME.
/usr/share/torrus/xmlconfig/snmp-defs.xml
Basic variable definitions for the SNMP collector.
SEE ALSO
torrus(8)
NOTES
See more documentation at Torrus home page: http://torrus.org
AUTHOR
Stanislav Sinyagin <ssinyagin@yahoo.com>
torrus 2.03 2013-07-26 TORRUS_COLLECTOR(8)