Understanding Red Hat Run Levels
Do you want to not start the HTTP daemon, without removing the file from the rc3.d directory? Easy. Rename /etc/rc.d/rc3.d/S85httpd to something that does not start with a capital S or a capital K. Your best bet would be to rename files using a lowercase “s” or a lowercase “k”. This way, not only will the scripts not be started, but they'll appear later in an ls file listing, since entries starting with capital letters are shown separately from those beginning with lower case letters. So you'd wind up with a file now called s85httpd, which is somewhat separated from the rest of the entries an an ls -l listing.
An important note here, though: make sure you know what the scripts are doing when you disable them. If you disable something like the S10network script, none of your networking software will work. This is why S10network has such a low number: because other scripts are dependent on the network and must be executed after the network software is in place.
You want to make your own init processes to start and stop? That's easy enough to do. Make a script that accepts the word start as an option. Not all scripts need to be able to stop, but if the script starts a process in the background, you should almost certainly include a stop option as well. For example, a script that polls the time over the network every time you enter runlevel 3 does not need a stop. A script that starts a program to query the network time every 15 minutes would need a start and a stop script, since the program the script started is continuously running. A program for the second example is better suited from a crontab, but being able to do things your own way is at the heart of Unix, isn't it?
Once it's written (and tested), put it in the /etc/rc.d/init.d/ directory. Let's say it's the program to check the time on a network machine every 15 minutes, so we'll call the script “netdate”. Once it is in the /etc/rc.d/init.d/ directory, you can make links in the directories you want to start it in. If you want your program to run in runlevel 3, make a link to your script from /etc/rc.d/rc3.d/S??netdate. Make ?? a number that will fit in the rest of the directory, such as S55netdate. You'll want it to be above S10 so that the network is started, and S55 isn't taken, so it seems a good enough location. It's not required that there be only one script with each number, but it is good form, since you know exactly what order the scripts will be started in.
If you want to stop the process gracefully during a shutdown, make sure your script accepts stop, then make a link to /etc/rc.d/init.d/netdate from /etc/rc.d/rc0.d/K55netdate. Again, you should make sure the number you use is not being used by another subsystem to avoid confusion.
You can test your new setup by using init 3. Since the other subsystems are already running, the only one that will start is the one you just added. If the init 3 command hangs, your script didn't exit; you probably need to put an ampersand at the end of a line to put the problem process in the background. You can also run your script manually from the /etc/rc.d/init.d/ directory.
Now that you know how the subsystems work, you can easily add or modify the existing subsystems for your particular Linux setup.
Mark Komarinski (email@example.com) has been using Linux since 1993 when he first purchased his 386/40. He just completed a book on Linux to be published by Prentice Hall. Mark now works for Aurora Technologies doing internal PC support and manning the customer service phones. He lives in eastern MA with his wife, Brenda.
Practical Task Scheduling Deployment
July 20, 2016 12:00 pm CDT
One of the best things about the UNIX environment (aside from being stable and efficient) is the vast array of software tools available to help you do your job. Traditionally, a UNIX tool does only one thing, but does that one thing very well. For example, grep is very easy to use and can search vast amounts of data quickly. The find tool can find a particular file or files based on all kinds of criteria. It's pretty easy to string these tools together to build even more powerful tools, such as a tool that finds all of the .log files in the /home directory and searches each one for a particular entry. This erector-set mentality allows UNIX system administrators to seem to always have the right tool for the job.
Cron traditionally has been considered another such a tool for job scheduling, but is it enough? This webinar considers that very question. The first part builds on a previous Geek Guide, Beyond Cron, and briefly describes how to know when it might be time to consider upgrading your job scheduling infrastructure. The second part presents an actual planning and implementation framework.
Join Linux Journal's Mike Diehl and Pat Cameron of Help Systems.
Free to Linux Journal readers.Register Now!
- SUSE LLC's SUSE Manager
- My +1 Sword of Productivity
- Managing Linux Using Puppet
- Murat Yener and Onur Dundar's Expert Android Studio (Wrox)
- Non-Linux FOSS: Caffeine!
- Tech Tip: Really Simple HTTP Server with Python
- Doing for User Space What We Did for Kernel Space
- Rogue Wave Software's Zend Server
- Parsing an RSS News Feed with a Bash Script
- SuperTuxKart 0.9.2 Released
With all the industry talk about the benefits of Linux on Power and all the performance advantages offered by its open architecture, you may be considering a move in that direction. If you are thinking about analytics, big data and cloud computing, you would be right to evaluate Power. The idea of using commodity x86 hardware and replacing it every three years is an outdated cost model. It doesn’t consider the total cost of ownership, and it doesn’t consider the advantage of real processing power, high-availability and multithreading like a demon.
This ebook takes a look at some of the practical applications of the Linux on Power platform and ways you might bring all the performance power of this open architecture to bear for your organization. There are no smoke and mirrors here—just hard, cold, empirical evidence provided by independent sources. I also consider some innovative ways Linux on Power will be used in the future.Get the Guide